Unexpected identifier 'assert' error

Hi,
On creating a new app with Shopify CLI v 3.5.9, and after running npm update -g , I see an error in terminal:
18:35:20 │ remix │ 6:35:20 PM [vite] Internal server error: Unexpected identifier ‘assert’
18:35:20 │ remix │ at compileSourceTextModule (node:internal/modules/esm/utils:337:16)
18:35:20 │ remix │ at ModuleLoader.moduleStrategy (node:internal/modules/esm/translators:166:18)
18:35:20 │ remix │ at callTranslator (node:internal/modules/esm/loader:416:14)
18:35:20 │ remix │ at ModuleLoader.moduleProvider (node:internal/modules/esm/loader:422:30)

Tried to then install on Shopify dev and get the following:

I have deleted and recreated, then reinstalled, each time deleting from the partner console. Can anyone share a solution, Thanks for any help

HEllo @Bizetools ,

The error you’re encountering, “Unexpected identifier ‘assert’”, is related to a compatibility issue between the @shopify/shopify-app-remix package version and your Node.js version. Here’s how to address it:

Understanding the Issue:

  • The assert identifier is a built-in Node.js assertion function that might not be available in older Node.js versions.
  • The @shopify/shopify-app-remix package version you’re using (likely above 2.8.1) might be introducing code that relies on this function.

Solution:

  1. Downgrade @shopify/shopify-app-remix:

    • In your project’s package.json file, adjust the version of @shopify/shopify-app-remix to a compatible version. A confirmed working version is 2.8.0.
    • Run npm install or yarn install to install the downgraded package.
JSON

// package.json
"dependencies": {
  "@shopify/shopify-app-remix": "2.8.0"
}
  • Upgrade Node.js (if possible):
  • If feasible, consider upgrading your Node.js version to a more recent LTS (Long-Term Support) release. Newer Node.js versions typically have better compatibility with modern packages.
  • Check the documentation for @shopify/shopify-app-remix to see if there are specific Node.js version requirements.
    • Additional Tips:

      • After making changes, restart your development server to ensure the new package version or Node.js environment is reflected.
      • If you encounter further issues, refer to the Shopify app template repository or the @shopify/shopify-app-remix package documentation for troubleshooting guidance.

      By following these steps, you should be able to resolve the “Unexpected identifier ‘assert’” error and proceed with developing your Shopify app using Remix.

1 Like

Thank you!! The combination of setting node to v 20 (was on 20.12.2) and @Shopify_77 /shopify-app-remix": "^2.8.2 enabled creation and installation with out the error. Really appreciate your help