Skip to content

Shopify App Vue Template v.3.5.0

Choose a tag to compare

@Mini-Sylar Mini-Sylar released this 05 Jul 18:28
· 4 commits to main since this release

v3.5.0 - Release Notes

What's New

Node 22 required

The minimum supported Node version is now 22 (up from 18), matching the @tsconfig/node22 base already used by the client. Update your local/CI runtime before upgrading.

- "node": ">=18.0.0"
+ "node": ">=22.0.0"

Shopify CLI 4

@shopify/cli is bumped to ^4.3.0.

Dependency updates

Routine version bumps across the board, including:

  • @shopify/shopify-app-express^7.0.1
  • better-sqlite3^12.11.1
  • vite^8.1.3, vue-tsc^3.3.6 (TypeScript branch)
  • eslint, prettier, npm-run-all2, and other tooling packages

package.json cleanup

  • Removed pretty-quick from the server — it wasn't wired to any script or git hook.
  • Removed npm-run-all2 and @rushstack/eslint-patch/@vue/eslint-config-prettier duplicated in the client — unused there, already provided at the root (or dead weight for the JS branch's flat ESLint config).
  • Removed the stale root main field, which pointed at a .js entry point that no longer exists.
  • Fixed the lint scripts breaking under PowerShell by quoting brace-glob patterns ("src/**/*.{js,vue,ts}").
  • (TypeScript branch) Renamed the client's type-check script to typecheck so the root's typecheck:client script — which calls npm run typecheck --workspace web/client — actually runs it. Previously this failed silently, meaning client typechecking was never running.

New: version bump scripts

Added workspace-aware version scripts to the root package.json:

npm run version:patch   # 3.5.0 -> 3.5.1
npm run version:minor   # 3.5.0 -> 3.6.0
npm run version:major   # 3.5.0 -> 4.0.0

Each bumps the root and both workspace packages together and re-syncs the lockfile, so the three package.json files never drift out of version sync again.

Bug fixes surfaced by lint

Getting the lint scripts actually running (see above) turned up a few pre-existing issues:

  • A caught-and-rethrown error in the product creator service was missing { cause }, dropping the original stack trace.
  • Several unused variables in webhook handler stubs and the example billing config.
  • (TypeScript branch) An unused parameter in the i18n router guard.

Docs

  • README now points to express-typed-router — a companion package for typed Express routes and auto-generated API docs.
  • Fixed the MySQL/PostgreSQL migration example in the FAQ, which still referenced the old SQLiteSessionStorage import instead of BetterSQLiteSessionStorage.
  • (TypeScript branch) Folder structure diagram updated to show .ts entry points instead of .js.

Upgrading from v3.4.0

  1. Make sure you're on Node 22+ before installing.
  2. Pull the latest changes, then run a fresh install to pick up the dependency bumps:
    npm install
  3. If you had a custom type-check script call anywhere in your own tooling (TypeScript branch only), update it to typecheck to match the renamed script.

No breaking API or session-storage changes in this release.


TypeScript version

A TypeScript variant of this template is available:

npx degit Mini-Sylar/shopify-app-vue-template#typescript your-app-name

The TypeScript branch includes all of the above changes plus full type coverage across models, webhooks, middleware, and routes.