This package provides a command line interface for developing and building Argo extensions.
$ yarn add @shopify/argo-run --dev
This package will add a
argo-run binary to your project. You can execute this binary directly, or through yarn:
$ node_modules/.bin/argo-run <command> $ yarn argo-run <command>
$ yarn argo-run dev
This command will start a local development server for your extension. This development server, based on
This command will print the
localhost address of the asset server when it starts up. To control the port the server will bind to, you can pass the
$ yarn argo-run dev --port 3000
If there is a website that can load a preview of your extension, this command can automatically navigate your browser to that page on start. To do so, pass a
--open flag with the URL to navigate to:
$ yarn argo-run dev --open https://argogogo.dev
This command will open your default browser to the
open URL, with an
extension query parameter set to a JSON-stringified version of the extension asset’s URL. Additionally, if you pass an
--extension-point flag to this command, it will be forwarded as an
extension-point query parameter when the URL is opened in a browser.
The most complex example might look something like this:
$ yarn argo-run dev --open https://argogogo.dev --extension-point Checkout::PostPurchase::ShouldRender
Which would open your default browser to a the following URL, assuming the default asset server port is available:
Browser extension and
During development, the dev server exposes a
/data endpoint which serves the
api_key entry of the
.env file and a json-parsed version of the
This endpoint is consumed by a browser extension, that we share with partners, which makes it easier to test locally developped post purchase extensions.
$ yarn argo-run build
This command will run your extension through webpack to produce a highly-optimized asset. Once generated, the estimated size of the asset will be printed to the console.
The extension asset will be placed in the
build directory adjacent to the directory in which you ran the command. By default, its name will be
main.js, but this can be customized using the
$ yarn argo-run build --filename extension.js