This is the home of all the public examples of Shopify Functions. It's used by the CLI when running yarn shopify app generate extension. Feel free to look around! Do not edit these files directly.
If you wish to run the samples directly from this repository, you must first expand any .liquid templates with the following command.
yarn
yarn expand-liquid
# optionally provide the language flavor
yarn expand-liquid vanilla-js
yarn expand-liquid typescriptTo update API versions and function schemas automatically:
# Step 1: Link to a Shopify app to create shopify.app.toml with client_id
shopify app config link
# Step 2: Generate/update the extension directories list in shopify.app.toml
yarn generate-app
# Step 3: Run the comprehensive update command
yarn update-api-versionThis process:
- First, links to a Shopify app to create shopify.app.toml with the client ID
- Then adds all extension directories to the same file (preserving the client_id)
- Finally, runs a sequence of commands that:
- Updates API versions across all extensions
- Expands liquid templates
- Updates function schemas
# JavaScript
yarn test-js
# TypeScript
yarn test-ts
# Rust
cargo test# currently only applies to Rust
cargo fmt
cargo clippy -- -D warningsTo check and update JavaScript dependencies in all package.json.liquid files:
yarn check-js-dependenciesTo check and update Rust dependencies in all Cargo.toml and Cargo.toml.liquid files:
yarn check-rust-dependenciesThese utilities will fetch the latest versions from npm and crates.io respectively and update your templates.