
When running the shopify app generate extension command in the CLI, I’m seeing this issue related to GraphQL codegen. I’ve tried various suggestions online and installing codegen to the project but no luck. I’m using the latest version of node, npm and the CLI but can’t get past this bit. I’m selecting Javascript when running through the prompts in the CLI and I then get this error.
From my testing this looks to be an issue with the CLI itself so I haven’t been able to fix myself.
shopify app generate extension --verbose
2025-09-19T14:30:48.229Z: Running command app generate extension
2025-09-19T14:30:48.233Z: Running system process in background:
· Command: /usr/local/bin/node /usr/local/bin/shopify notifications list --ignore-errors
· Working directory: /Users/ashley.eastham/App:Functions Dev/gng-discount-function-2
2025-09-19T14:30:48.237Z: Notifications to show: 0
2025-09-19T14:30:48.254Z: Reading cached app information for directory /Users/ashley.eastham/App:Functions Dev/gng-discount-function-2...
2025-09-19T14:30:48.254Z: Reading the content of file at shopify.app.toml...
2025-09-19T14:30:48.257Z: Reading the content of file at shopify.app.toml...
2025-09-19T14:30:48.258Z: Ensuring that the user is authenticated with the App Management API with the following scopes:
[]
2025-09-19T14:30:48.258Z: Getting session store...
2025-09-19T14:30:48.258Z: Validating existing session against the scopes:
[
"openid",
"https://api.shopify.com/auth/shop.admin.graphql",
"https://api.shopify.com/auth/shop.admin.themes",
"https://api.shopify.com/auth/partners.collaborator-relationships.readonly",
"https://api.shopify.com/auth/shop.storefront-renderer.devtools",
"https://api.shopify.com/auth/partners.app.cli.access",
"https://api.shopify.com/auth/destinations.readonly",
"https://api.shopify.com/auth/organization.store-management",
"https://api.shopify.com/auth/organization.on-demand-user-access",
"https://api.shopify.com/auth/organization.apps.manage"
]
For applications:
{
"appManagementApi": {
"scopes": []
},
"businessPlatformApi": {
"scopes": []
}
}
2025-09-19T14:30:48.259Z: - Token validation -> It's expired: false
2025-09-19T14:30:48.260Z: Sending "BusinessPlatform" GraphQL request:
query UserInfo {
currentUserAccount {
uuid
email
organizations(first: 2) {
nodes {
name
__typename
}
__typename
}
__typename
}
}
With request headers:
- User-Agent: Shopify CLI; v=3.84.1
- Keep-Alive: timeout=30
- Sec-CH-UA-PLATFORM: darwin
- Content-Type: application/json
to https://destinations.shopifysvc.com/destinations/api/2020-07/graphql
2025-09-19T14:30:48.268Z: Sending "App Management" GraphQL request:
query ActiveAppReleaseFromApiKey($apiKey: String!) {
app: appByKey(key: $apiKey) {
...AppVersionInfo
__typename
}
}
fragment ReleasedAppModule on AppModule {
uuid
userIdentifier
handle
config
target
specification {
identifier
externalIdentifier
name
managementExperience
}
}
fragment AppVersionInfo on App {
id
key
organizationId
activeRoot {
clientCredentials {
secrets {
key
}
}
}
activeRelease {
id
version {
name
appModules {
...ReleasedAppModule
}
}
}
}
With variables:
{
"apiKey": "*****"
}
With request headers:
- User-Agent: Shopify CLI; v=3.84.1
- Keep-Alive: timeout=30
- Sec-CH-UA-PLATFORM: darwin
- Content-Type: application/json
to https://app.shopify.com/app_management/unstable/graphql.json
2025-09-19T14:30:48.997Z: Request to https://app.shopify.com/app_management/unstable/graphql.json completed in 729 ms
With response headers:
- content-type: application/json; charset=utf-8
- server-timing: processing;dur=92, verdict_flag_enabled;desc="count=1";dur=0.111, _y;desc="809a9648-f7fc-495e-8486-03c58d0b9ccd", _s;desc="3a32e909-d7cc-41be-bcd9-c1997b57f860", cfRequestDuration;dur=269.999981
- x-request-id: 5c516491-6e4f-4fdc-926e-9fa7e22eed8e-1758292248
2025-09-19T14:30:49.009Z: Ensuring that the user is authenticated with the Partners API with the following scopes:
[]
2025-09-19T14:30:49.009Z: Getting session store...
2025-09-19T14:30:49.010Z: Validating existing session against the scopes:
[
"openid",
"https://api.shopify.com/auth/shop.admin.graphql",
"https://api.shopify.com/auth/shop.admin.themes",
"https://api.shopify.com/auth/partners.collaborator-relationships.readonly",
"https://api.shopify.com/auth/shop.storefront-renderer.devtools",
"https://api.shopify.com/auth/partners.app.cli.access",
"https://api.shopify.com/auth/destinations.readonly",
"https://api.shopify.com/auth/organization.store-management",
"https://api.shopify.com/auth/organization.on-demand-user-access",
"https://api.shopify.com/auth/organization.apps.manage"
]
For applications:
{
"partnersApi": {
"scopes": []
}
}
2025-09-19T14:30:49.010Z: - Token validation -> It's expired: false
2025-09-19T14:30:49.010Z: Getting partner account info from cache
2025-09-19T14:30:49.015Z: Sending "Partners" GraphQL request:
query FindApp($apiKey: String!) {
app(apiKey: $apiKey) {
id
title
apiKey
organizationId
apiSecretKeys {
secret
}
appType
grantedScopes
applicationUrl
redirectUrlWhitelist
requestedAccessScopes
webhookApiVersion
embedded
posEmbedded
preferencesUrl
gdprWebhooks {
customerDeletionUrl
customerDataRequestUrl
shopDeletionUrl
}
appProxy {
subPath
subPathPrefix
url
}
developmentStorePreviewEnabled
disabledFlags
}
}
With variables:
{
"apiKey": "*****"
}
With request headers:
- User-Agent: Shopify CLI; v=3.84.1
- Keep-Alive: timeout=30
- Sec-CH-UA-PLATFORM: darwin
- Content-Type: application/json
to https://partners.shopify.com/api/cli/graphql
2025-09-19T14:30:49.989Z: Request to https://partners.shopify.com/api/cli/graphql completed in 975 ms
With response headers:
- cache-control: max-age=0, private, must-revalidate
- content-type: application/json; charset=utf-8
- etag: W/"67a2769c0e265189a92e8240d2e75f74"
- server-timing: processing;dur=677, socket_queue;dur=2.484, util;dur=0.3, cfRequestDuration;dur=802.999973
- x-request-id: b97d68ab-a2e9-4b90-9cfa-f233d0c05cb0-1758292249
2025-09-19T14:30:49.996Z: Sending "Partners" GraphQL request:
query FindOrganization($id: ID!) {
organizations(id: $id, first: 1) {
nodes {
id
businessName
}
}
}
With variables:
{
"id": "7432"
}
With request headers:
- User-Agent: Shopify CLI; v=3.84.1
- Keep-Alive: timeout=30
- Sec-CH-UA-PLATFORM: darwin
- Content-Type: application/json
to https://partners.shopify.com/api/cli/graphql
2025-09-19T14:30:50.146Z: Sending "Partners" GraphQL request:
query fetchSpecifications($apiKey: String!) {
extensionSpecifications(apiKey: $apiKey) {
name
externalName
externalIdentifier
identifier
gated
experience
options {
managementExperience
registrationLimit
}
features {
argo {
surface
}
}
validationSchema {
jsonSchema
}
}
}
With variables:
{
"apiKey": "*****"
}
With request headers:
- User-Agent: Shopify CLI; v=3.84.1
- Keep-Alive: timeout=30
- Sec-CH-UA-PLATFORM: darwin
- Content-Type: application/json
to https://partners.shopify.com/api/cli/graphql
2025-09-19T14:30:50.514Z: Request to https://partners.shopify.com/api/cli/graphql completed in 367 ms
With response headers:
- cache-control: max-age=0, private, must-revalidate
- content-type: application/json; charset=utf-8
- etag: W/"40ad1eac72aaa8e8150599f63119322c"
- server-timing: processing;dur=65, socket_queue;dur=1.909, util;dur=0.3, cfRequestDuration;dur=183.000088
- x-request-id: 08ab6a7a-6fdb-4691-b9e0-123635218abe-1758292250
2025-09-19T14:30:50.525Z: The following extension specifications were defined locally but not found in the remote specifications: payments_extension, tax_calculation
2025-09-19T14:30:50.528Z: Reading the content of file at .gitignore...
2025-09-19T14:30:50.538Z: Reading the content of file at package.json...
2025-09-19T14:30:50.539Z: Reading the content of file at package.json...
2025-09-19T14:30:50.541Z: Running system process:
· Command: npm prefix
· Working directory: /Users/ashley.eastham/App:Functions Dev/gng-discount-function-2
2025-09-19T14:30:50.653Z: Obtaining the dependency manager in directory /Users/ashley.eastham/App:Functions Dev/gng-discount-function-2...
2025-09-19T14:30:50.654Z: Reading the content of file at package.json...
2025-09-19T14:30:50.654Z: Reading the content of file at .shopify/project.json...
2025-09-19T14:30:50.657Z: Notifications to show: 0
2025-09-19T14:30:50.657Z: Unable to decide project type as no web backend
2025-09-19T14:30:50.658Z: Reading cached app information for directory /Users/ashley.eastham/App:Functions Dev/gng-discount-function-2...
2025-09-19T14:30:50.658Z: Storing app information for directory /Users/ashley.eastham/App:Functions Dev/gng-discount-function-2:{
"appId": "901c8c1b0dbd90e7a9a98de84d7b0290",
"title": "gng-discount-function-2",
"directory": "/Users/ashley.eastham/App:Functions Dev/gng-discount-function-2",
"orgId": "7432"
}
2025-09-19T14:30:50.670Z: Sending "Partners" GraphQL request:
query RemoteTemplateSpecifications($version: String, $apiKey: String) {
templateSpecifications(version: $version, apiKey: $apiKey) {
identifier
name
defaultName
group
sortPriority
supportLinks
types {
url
type
extensionPoints
supportedFlavors {
name
value
path
}
}
}
}
With variables:
{
"apiKey": "*****"
}
With request headers:
- User-Agent: Shopify CLI; v=3.84.1
- Keep-Alive: timeout=30
- Sec-CH-UA-PLATFORM: darwin
- Content-Type: application/json
to https://partners.shopify.com/api/cli/graphql
2025-09-19T14:30:51.039Z: Request to https://partners.shopify.com/api/cli/graphql completed in 369 ms
With response headers:
- cache-control: max-age=0, private, must-revalidate
- content-type: application/json; charset=utf-8
- etag: W/"1a825a588f85b1868b7e6975ccc55b72"
- server-timing: processing;dur=62, socket_queue;dur=2.037, util;dur=0.3, cfRequestDuration;dur=180.999994
- x-request-id: 1a9da78a-1ed2-4a25-bab4-190db2e7cf67-1758292250
? Type of extension?
✔ Discount — Function
? Name your extension:
✔ gng-discount-function-2
? What would you like to work in?
✔ JavaScript
2025-09-19T14:31:02.596Z: Creating directory at extensions/gng-discount-function-2...
2025-09-19T14:31:02.596Z: Creating an empty file at extensions/gng-discount-function-2/.shopify.lock...
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Generating function extension ...
2025-09-19T14:31:02.610Z: Creating directory at /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download...
2025-09-19T14:31:02.612Z: Git-cloning repository https://github.com/Shopify/extensions-templates into /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download...
2025-09-19T14:31:02.616Z: Running system process:
· Command: git --version
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Generating function extension ...
2025-09-19T14:31:03.625Z: Copying template from directory /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js to extensions/gng-discount-function-2
2025-09-19T14:31:03.629Z: Checking if /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/index.liquid is a directory...
2025-09-19T14:31:03.630Z: Checking if /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_lines_discounts_generate_run.test.liquid is a directory...
2025-09-19T14:31:03.630Z: Checking if /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_lines_discounts_generate_run.liquid is a directory...
2025-09-19T14:31:03.630Z: Checking if /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_lines_discounts_generate_run.graphql.liquid is a directory...
2025-09-19T14:31:03.630Z: Checking if /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_delivery_options_discounts_generate_run.test.liquid is a directory...
2025-09-19T14:31:03.630Z: Checking if /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_delivery_options_discounts_generate_run.liquid is a directory...
2025-09-19T14:31:03.630Z: Checking if /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_delivery_options_discounts_generate_run.graphql.liquid is a directory...
2025-09-19T14:31:03.630Z: Checking if /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/locales/en.default.json.liquid is a directory...
2025-09-19T14:31:03.630Z: Checking if /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/vite.config.js is a directory...
2025-09-19T14:31:03.630Z: Checking if /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/shopify.extension.toml.liquid is a directory...
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Generating function extension ...
2025-09-19T14:31:03.631Z: Creating directory at extensions/gng-discount-function-2/src...
2025-09-19T14:31:03.632Z: Creating directory at extensions/gng-discount-function-2/src...
2025-09-19T14:31:03.632Z: Creating directory at extensions/gng-discount-function-2/src...
2025-09-19T14:31:03.632Z: Creating directory at extensions/gng-discount-function-2/src...
2025-09-19T14:31:03.632Z: Creating directory at extensions/gng-discount-function-2/src...
2025-09-19T14:31:03.632Z: Creating directory at extensions/gng-discount-function-2/src...
2025-09-19T14:31:03.632Z: Creating directory at extensions/gng-discount-function-2/src...
2025-09-19T14:31:03.632Z: Creating directory at extensions/gng-discount-function-2/locales...
2025-09-19T14:31:03.632Z: Copying file from /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/vite.config.js to extensions/gng-discount-function-2/vite.config.js...
2025-09-19T14:31:03.632Z: Creating directory at extensions/gng-discount-function-2...
2025-09-19T14:31:03.632Z: Copying file from /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/schema.graphql to extensions/gng-discount-function-2/schema.graphql...
2025-09-19T14:31:03.632Z: Creating directory at extensions/gng-discount-function-2...
2025-09-19T14:31:03.632Z: Reading the content of file at /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_lines_discounts_generate_run.test.liquid...
2025-09-19T14:31:03.632Z: Reading the content of file at /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/locales/en.default.json.liquid...
2025-09-19T14:31:03.633Z: Reading the content of file at /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/index.liquid...
2025-09-19T14:31:03.633Z: Reading the content of file at /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_lines_discounts_generate_run.graphql.liquid...
2025-09-19T14:31:03.633Z: Reading the content of file at /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_delivery_options_discounts_generate_run.test.liquid...
2025-09-19T14:31:03.633Z: Reading the content of file at /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_delivery_options_discounts_generate_run.liquid...
2025-09-19T14:31:03.633Z: Reading the content of file at /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_lines_discounts_generate_run.liquid...
2025-09-19T14:31:03.633Z: Reading the content of file at /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_delivery_options_discounts_generate_run.graphql.liquid...
2025-09-19T14:31:03.633Z: Reading the content of file at /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/shopify.extension.toml.liquid...
2025-09-19T14:31:03.633Z: Reading the content of file at /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/package.json.liquid...
2025-09-19T14:31:03.640Z: Copying file from /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/locales/en.default.json.liquid to extensions/gng-discount-function-2/locales/en.default.json...
2025-09-19T14:31:03.640Z: Copying file from /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_lines_discounts_generate_run.test.liquid to extensions/gng-discount-function-2/src/cart_lines_disc
ounts_generate_run.test... 2025-09-19T14:31:03.641Z: Copying file from /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/index.liquid to extensions/gng-discount-function-2/src/index...
2025-09-19T14:31:03.641Z: Copying file from /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_lines_discounts_generate_run.graphql.liquid to extensions/gng-discount-function-2/src/cart_lines_d
iscounts_generate_run.graphql... 2025-09-19T14:31:03.641Z: Copying file from /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_delivery_options_discounts_generate_run.liquid to extensions/gng-discount-function-2/src/cart_deli
very_options_discounts_generate_run... 2025-09-19T14:31:03.641Z: Copying file from /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_lines_discounts_generate_run.liquid to extensions/gng-discount-function-2/src/cart_lines_discounts
_generate_run... 2025-09-19T14:31:03.641Z: Copying file from /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_delivery_options_discounts_generate_run.test.liquid to extensions/gng-discount-function-2/src/cart
_delivery_options_discounts_generate_run.test... 2025-09-19T14:31:03.641Z: Copying file from /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/shopify.extension.toml.liquid to extensions/gng-discount-function-2/shopify.extension.toml...
2025-09-19T14:31:03.641Z: Copying file from /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/src/cart_delivery_options_discounts_generate_run.graphql.liquid to extensions/gng-discount-function-2/src/c
art_delivery_options_discounts_generate_run.graphql... 2025-09-19T14:31:03.641Z: Copying file from /private/var/folders/qq/lmyj7bsj545bf_llln74wy64yyflt4/T/aff7b2cb48639560bfa7b15c2d958e20/download/functions-discount-js/package.json.liquid to extensions/gng-discount-function-2/package.json...
2025-09-19T14:31:03.644Z: Writing some content to file at extensions/gng-discount-function-2/package.json...
2025-09-19T14:31:03.645Z: Writing some content to file at extensions/gng-discount-function-2/src/cart_lines_discounts_generate_run.test...
2025-09-19T14:31:03.645Z: Writing some content to file at extensions/gng-discount-function-2/shopify.extension.toml...
2025-09-19T14:31:03.645Z: Writing some content to file at extensions/gng-discount-function-2/src/index...
2025-09-19T14:31:03.645Z: Writing some content to file at extensions/gng-discount-function-2/src/cart_lines_discounts_generate_run...
2025-09-19T14:31:03.645Z: Writing some content to file at extensions/gng-discount-function-2/src/cart_delivery_options_discounts_generate_run...
2025-09-19T14:31:03.645Z: Writing some content to file at extensions/gng-discount-function-2/locales/en.default.json...
2025-09-19T14:31:03.645Z: Writing some content to file at extensions/gng-discount-function-2/src/cart_delivery_options_discounts_generate_run.test...
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Generating function extension ...
2025-09-19T14:31:03.738Z: Running system process:
· Command: npm install
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Installing additional dependencies ...
2025-09-19T14:31:05.029Z: Adding the following dependencies if needed:
[
{
"name": "@shopify/shopify_function",
"version": "~2.0.0"
}
]
With options:
{
"packageManager": "npm",
"type": "prod",
"directory": "/Users/ashley.eastham/App:Functions Dev/gng-discount-function-2/extensions/gng-discount-function-2"
}
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Building GraphQL types ...
2025-09-19T14:31:05.031Z: Running system process:
· Command: npm exec -- graphql-code-generator --config package.json
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
2025-09-19T14:31:05.277Z: Removing file at extensions/gng-discount-function-2...
── external error ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Error coming from `npm exec -- graphql-code-generator --config package.json`
Command failed with exit code 127: npm exec -- graphql-code-generator --config package.json
sh: graphql-code-generator: command not found
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
2025-09-19T14:31:05.285Z: Running system process:
· Command: npm prefix
· Working directory: /Users/ashley.eastham/App:Functions Dev/gng-discount-function-2
2025-09-19T14:31:05.388Z: Obtaining the dependency manager in directory /Users/ashley.eastham/App:Functions Dev/gng-discount-function-2...
2025-09-19T14:31:05.907Z: Request to https://monorail-edge.shopifysvc.com/v1/produce completed in 389 ms
With response headers:
- x-request-id: 7c3e19a4-f921-493a-81bb-87c63a6698ed
2025-09-19T14:31:05.908Z: Analytics event sent: {
"command": "app scaffold extension",
"time_start": 1758292248231,
"time_end": 1758292265282,
"total_time": 17051,
"success": false,
"cli_version": "3.84.1",
"ruby_version": "",
"node_version": "22.19.0",
"is_employee": false,
"uname": "darwin arm64",
"env_ci": false,
"env_plugin_installed_any_custom": false,
"env_plugin_installed_shopify": "[\"@shopify/cli\"]",
"env_shell": "zsh",
"env_device_id": "3a6b9877e5ec656abc55c888a80f10f27400b2c7",
"env_cloud": "localhost",
"env_package_manager": "npm",
"env_is_global": true,
"env_auth_method": "device_auth",
"env_is_wsl": false,
"env_build_repository": "Shopify/cli",
"cmd_app_warning_api_key_deprecation_displayed": false,
"cmd_scaffold_required_auth": true,
"cmd_scaffold_template_custom": false,
"cmd_scaffold_type_owner": "@shopify/app",
"cmd_app_all_configs_any": true,
"cmd_app_all_configs_clients": "{\"shopify.app.toml\":\"901c8c1b0dbd90e7a9a98de84d7b0290\"}",
"cmd_app_linked_config_used": true,
"cmd_app_linked_config_name": "shopify.app.toml",
"cmd_app_linked_config_git_tracked": true,
"cmd_app_linked_config_source": "cached",
"app_extensions_any": false,
"app_extensions_breakdown": "{}",
"app_extensions_count": 0,
"app_extensions_custom_layout": false,
"app_extensions_function_any": false,
"app_extensions_function_count": 0,
"app_extensions_theme_any": false,
"app_extensions_theme_count": 0,
"app_extensions_ui_any": false,
"app_extensions_ui_count": 0,
"app_name_hash": "5355358a3273a6eea7615064298a26d9df848f88",
"app_path_hash": "ff5340476c9cbe69f26e047a9fcd8f99e9862344",
"app_scopes": "[]",
"app_web_backend_any": false,
"app_web_backend_count": 0,
"app_web_custom_layout": false,
"app_web_frontend_any": false,
"app_web_frontend_count": 0,
"env_package_manager_workspaces": true,
"partner_id": 7432,
"api_key": "****",
"cmd_app_reset_used": false,
"cmd_scaffold_template_flavor": "vanilla-js",
"cmd_scaffold_type": "discount",
"cmd_scaffold_used_prompts_for_type": true,
"cmd_all_timing_network_ms": 5003,
"cmd_all_timing_prompts_ms": 11545,
"cmd_all_launcher": "unknown",
"cmd_all_topic": "app generate",
"cmd_all_plugin": "@shopify/app",
"cmd_all_verbose": true,
"cmd_all_path_override": true,
"cmd_all_path_override_hash": "ff5340476c9cbe69f26e047a9fcd8f99e9862344",
"cmd_all_last_graphql_request_id": "1a9da78a-1ed2-4a25-bab4-190db2e7cf67-1758292250",
"cmd_all_timing_active_ms": 501,
"cmd_all_exit": "expected_error",
"user_id": "8872bcc3-10a6-429c-b8bb-22c1dd3e7547",
"request_ids": [
"5c516491-6e4f-4fdc-926e-9fa7e22eed8e-1758292248",
"b97d68ab-a2e9-4b90-9cfa-f233d0c05cb0-1758292249",
"08ab6a7a-6fdb-4691-b9e0-123635218abe-1758292250",
"1a9da78a-1ed2-4a25-bab4-190db2e7cf67-1758292250"
],
"args": "--verbose",
"error_message": "Command failed with exit code 127: npm exec -- graphql-code-generator --config package.json\nsh: graphql-code-generator: command not found",
"app_name": "gng-discount-function-2",
"env_plugin_installed_all": "[\"@shopify/cli\"]",
"metadata": "{\"extraPublic\":{},\"extraSensitive\":{}}"
}
2025-09-19T14:31:05.923Z: Reporting handled error to Bugsnag: Command failed with exit code 127: npm exec -- graphql-code-generator --config package.json
sh: graphql-code-generator: command not found
2025-09-19T14:31:06.043Z: Running system process:
· Command: npm prefix
· Working directory: /Users/ashley.eastham/App:Functions Dev/gng-discount-function-2
2025-09-19T14:31:06.140Z: Obtaining the dependency manager in directory /Users/ashley.eastham/App:Functions Dev/gng-discount-function-2...
Any help much appreciated.
