This repository was archived by the owner on Jun 1, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 213
Expand file tree
/
Copy pathmessages.rb
More file actions
844 lines (770 loc) · 38 KB
/
messages.rb
File metadata and controls
844 lines (770 loc) · 38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
# frozen_string_literal: true
module ShopifyCLI
module Messages
MESSAGES = {
apps: {
create: {
info: {
created: "{{v}} {{green:%s}} was created in the organization's Partner Dashboard {{underline:%s}}",
serve: "{{*}} Change directories to your new project folder {{green:%s}} and run "\
"{{command:%s app serve}} to start a local server",
install: "{{*}} Then, visit {{underline:%s/test}} to install {{green:%s}} on your Dev Store",
},
},
},
core: {
errors: {
missing_node: "Node.js is required to continue. Install Node.js here: https://nodejs.org/en/download.",
missing_npm: "npm is required to continue. Install npm here: https://www.npmjs.com/get-npm.",
missing_ruby: "Ruby is required to continue. Install Ruby here: https://www.ruby-lang.org/en/downloads.",
bundle_info_failure: "Error getting version for %s gem",
option_parser: {
invalid_option: "The option {{command:%s}} is not supported.",
invalid_option_store_equals: <<~MESSAGE,
The option {{command:%s}} isn't recognized.
Try this:
{{command:--store=%s}}.
MESSAGE
missing_argument: "The required argument {{command:%s}} is missing.",
},
},
app: {
help: <<~HELP,
Suite of commands for developing apps. See {{command:%1$s app <command> --help}} for usage of each command.
Usage: {{command:%1$s app [ %2$s ]}}
HELP
error: {
type_not_found: <<~MESSAGE,
Couldn't detect the app type in directory %s. We currently support Rails, PHP, and NodeJS apps.
MESSAGE
missing_shopify_cli_yml: <<~MESSAGE,
Couldn't find a #{Constants::Files::SHOPIFY_CLI_YML} file in the directory %s to determine the app type.
MESSAGE
invalid_project_type: <<~MESSAGE,
The project type %s doesn't represent an app.
MESSAGE
},
create: {
type_required_error: "",
invalid_type: "The type %s is not supported. The only supported types are"\
" {{command:[ rails | node | php ]}}",
help: <<~HELP,
{{command:%s app create}}: Creates a new project in a subdirectory.
Usage: {{command:%s app create [ rails | node | php ]}}
HELP
rails: {
help: <<~HELP,
{{command:%s app create rails}}: Creates a ruby on rails app.
Usage: {{command:%s app create rails}}
Options:
{{command:--name=NAME}} App name. Any string.
{{command:--organization-id=ID}} Partner organization ID. Must be an existing organization.
{{command:--store-domain=MYSHOPIFYDOMAIN }} Development store URL. Must be an existing development store.
{{command:--db=DB}} Database type. Must be one of: mysql, postgresql, sqlite3, oracle, frontbase, ibm_db, sqlserver, jdbcmysql, jdbcsqlite3, jdbcpostgresql, jdbc.
{{command:--rails-opts=RAILSOPTS}} Additional options. Must be a string containing one or more valid Rails options, separated by spaces.
HELP
error: {
invalid_ruby_version: "This project requires a Ruby version ~> 2.5 or Ruby 3.0.",
dir_exists: "Project directory %s already exists. Please use a different name.",
install_failure: "Error installing %s gem",
node_required: "node is required to create a rails project. Download at https://nodejs.org/en/download.",
node_version_failure: "Failed to get the current node version. Please make sure it is installed as " \
"per the instructions at https://nodejs.org/en.",
yarn_required: "yarn is required to create a rails project. Download at " \
"https://classic.yarnpkg.com/en/docs/install.",
yarn_version_failure: "Failed to get the current yarn version. Please make sure it is " \
"installed as per the instructions at https://classic.yarnpkg.com/en/docs/install.",
},
info: {
open_new_shell: "{{*}} {{yellow:After installing %s, please open a new Command Prompt or PowerShell " \
"window to continue.}}",
},
installing_bundler: "Installing bundler…",
generating_app: "Generating new rails app project in %s…",
adding_shopify_gem: "{{v}} Adding shopify_app gem…",
node_version: "node %s",
yarn_version: "yarn %s",
running_bundle_install: "Running bundle install…",
running_generator: "Running shopify_app generator…",
running_migrations: "Running migrations…",
running_webpacker_install: "Running webpacker:install…",
},
node: {
help: <<~HELP,
{{command:%s app create node}}: Creates an embedded nodejs app.
Usage: {{command:%s app create node}}
Options:
{{command:--name=NAME}} App name. Any string.
{{command:--organization-id=ID}} Partner organization ID. Must be an existing organization.
{{command:--store-domain=MYSHOPIFYDOMAIN }} Development store URL. Must be an existing development store.
HELP
error: {
node_required: "node is required to create an app project. Download at https://nodejs.org/en/download.",
npm_required: "npm is required to create an app project. Download at https://www.npmjs.com/get-npm.",
npm_version_failure: "Failed to get the current npm version. Please make sure it is installed as per " \
"the instructions at https://www.npmjs.com/get-npm.",
},
node_version: "node %s",
npm_version: "npm %s",
},
php: {
help: <<~HELP,
{{command:%s app create php}}: Creates an embedded PHP app.
Usage: {{command:%s app create php}}
Options:
{{command:--name=NAME}} App name. Any string.
{{command:--organization-id=ID}} Partner organization ID. Must be an existing organization.
{{command:--store-domain=MYSHOPIFYDOMAIN}} Development store URL. Must be an existing development store.
{{command:--type=APPTYPE}} Whether this app is public or custom.
{{command:--verbose}} Output verbose information when installing dependencies.
HELP
error: {
php_required: <<~VERSION,
PHP is required to create an app project. For installation instructions, visit:
{{underline:https://www.php.net/manual/en/install.php}}
VERSION
php_version_failure: <<~VERSION,
Failed to get the current PHP version. Please make sure it is installed as per the instructions at:
{{underline:https://www.php.net/manual/en/install.php.}}
VERSION
php_version_too_low: "Your PHP version is too low. Please use version %s or higher.",
composer_required: <<~COMPOSER,
Composer is required to create an app project. Download at:
{{underline:https://getcomposer.org/download/}}
COMPOSER
npm_required: "npm is required to create an app project. Download at https://www.npmjs.com/get-npm.",
app_setup: "Failed to set up the app",
},
php_version: "PHP %s",
npm_version: "npm %s",
app_setting_up: "Setting up app…",
app_set_up: "App is now set up",
},
},
deploy: {
help: <<~HELP,
Deploy the current app to a hosting service. Heroku ({{underline:https://www.heroku.com}}) is currently the only option, but more will be added in the future.
Usage: {{command:%s app deploy [ heroku ]}}
HELP
extended_help: <<~HELP,
{{bold:Subcommands:}}
{{cyan:heroku}}: Deploys the current app to Heroku.
Usage: {{command:%s app deploy heroku}}
HELP
error: {
missing_platform: <<~MESSAGE,
The platform argument is missing.
Usage: {{command:%s app deploy [ heroku ]}}
MESSAGE
invalid_platform: <<~MESSAGE,
The platform argument passed {{command:%s}} is not supported.
Usage: {{command:%s app deploy [ heroku ]}}
MESSAGE
},
heroku: {
downloading: "Downloading Heroku CLI…",
downloaded: "Downloaded Heroku CLI",
installing: "Installing Heroku CLI…",
installing_windows: "Running Heroku CLI install wizard…",
installed: "Installed Heroku CLI",
authenticated_with_account: "{{v}} Authenticated with Heroku as {{green:%s}}",
authenticating: "Authenticating with Heroku…",
authenticated: "{{v}} Authenticated with Heroku",
deploying: "Deploying to Heroku…",
deployed: "{{v}} Deployed to Heroku",
php: {
post_deploy: <<~DEPLOYED,
{{v}} Deployed to Heroku, you can access your app at {{green:%s}}
If you're deploying this app for the first time, make sure to set up your database and your app's environment at {{bold:App dashboard -> Settings -> Config Vars}}.
When setting your config vars, don't forget to set up your database and the appropriate Laravel values for it, particularly {{bold:DB_CONNECTION and DB_DATABASE}}.
DEPLOYED
error: {
generate_app_key: "Failed to generate Laravel APP_KEY",
},
},
rails: {
db_check: {
validating: "Validating application…",
checking: "Checking database type…",
validated: "Database type \"%s\" validated for platform \"Heroku\"",
problem: "A problem was encountered while checking your database type.",
sqlite: <<~SQLITE,
Heroku does not support deployment using the SQLite database system.
Change the database type using {{command:rails db:system:change --to=[new_db_type]}}. For more info:
{{underline:https://gorails.com/episodes/rails-6-db-system-change-command}}
SQLITE
},
},
git: {
checking: "Checking git repo…",
initialized: "Git repo initialized",
what_branch: "What branch would you like to deploy?",
branch_selected: "{{v}} Git branch {{green:%s}} selected for deploy",
},
app: {
no_apps_found: "No existing Heroku app found. What would you like to do?",
name: "What is your Heroku app’s name?",
select: "Specify an existing Heroku app",
selecting: "Selecting Heroku app %s…",
selected: "{{v}} Heroku app {{green:%s}} selected",
create: "Create a new Heroku app",
creating: "Creating new Heroku app…",
created: "{{v}} New Heroku app created",
setting_configs: "Setting Shopify app configs…",
configs_set: "{{v}} Shopify app configs set",
},
},
},
connect: {
help: <<~HELP,
{{command:%s app connect}}: Connects an existing app to Shopify CLI. Creates a config file.
Usage: {{command:%s app connect}}
HELP
connected: "Project now connected to {{green:%s}}",
production_warning: <<~MESSAGE,
{{yellow:! Warning: if you have connected to an {{bold:app in production}}, running {{command:serve}} may update the app URL and cause an outage.
MESSAGE
},
tunnel: {
help: <<~HELP,
Start or stop an http tunnel to your local development app using ngrok.
Usage: {{command:%s app tunnel [ auth | start | stop ]}}
HELP
extended_help: <<~HELP,
{{bold:Subcommands:}}
{{cyan:auth}}: Writes an ngrok auth token to ~/.ngrok2/ngrok.yml to connect with an ngrok account. Visit https://dashboard.ngrok.com/signup to sign up.
Usage: {{command:%1$s app tunnel auth <token>}}
{{cyan:start}}: Starts an ngrok tunnel, will print the URL for an existing tunnel if already running.
Usage: {{command:%1$s app tunnel start}}
{{cyan:stop}}: Stops the ngrok tunnel.
Usage: {{command:%1$s app tunnel stop}}
HELP
error: {
token_argument_missing: "{{x}} {{red:auth requires a token argument}}\n\n",
},
},
serve: {
help: <<~HELP,
Start a local development server for your project, as well as a public ngrok tunnel to your localhost.
Usage: {{command:%s app serve}}
HELP
extended_help: <<~HELP,
{{bold:Options:}}
{{cyan:--host=HOST}}: Bypass running tunnel and use custom host. HOST must be HTTPS url.
{{cyan:--port=PORT}}: Use custom port.
{{cyan:--no-update}}: Skips the dashboard URL update step
HELP
open_info: <<~MESSAGE,
{{*}} To install and start using your app, open this URL in your browser:
{{green:%s}}
MESSAGE
running_server: "Running server…",
error: {
host_must_be_https: "HOST must be a HTTPS url.",
invalid_port: "%s is not a valid port.",
},
},
open: {
help: <<~HELP,
Open your local development app in the default browser.
Usage: {{command:%s app open}}
HELP
},
},
extension: {
push: {
web_pixel_extension: {
error: {
file_read_error: "There was a problem reading %s",
missing_config_key_error: "Configuration is missing key: %s",
invalid_config_value_error: "Configuration value is invalid: %s",
},
},
checkout_ui_extension: {
localization: {
error: {
bundle_too_large: "Total size of all locale files must be less than %s.",
duplicate_locale_code: "Duplicate locale found: `%s`; locale codes"\
" should be unique and are case insensitive.",
file_empty: "Locale file `%s` is empty.",
file_too_large: "Locale file `%s` too large; size must be less than %s.",
invalid_file_extension: "Invalid locale filename: `%s`; only .json files are allowed.",
invalid_locale_code: "Invalid locale filename: `%s`; locale code should be 2 or 3 letters,"\
" optionally followed by a two-letter region code, e.g. `fr-CA`.",
invalid_file_encoding: "Invalid file encoding for `%s`; file encoding should be UTF-8.",
single_default_locale: "There must be one and only one locale identified as the default locale,"\
" e.g. `en.default.json`",
},
},
},
},
},
error_reporting: {
unhandled_error: {
message: "{{x}} {{red:An unexpected error occured.}}",
issue_message: "{{red:\tTo \e]8;;%s\e\\submit an issue\e]8;;\e\\"\
" include the stack trace.}}",
stacktrace_message: "{{red:\tTo print the stack trace, add the environment variable %s.}}",
},
report_error: {
question: "Send an anonymized error report to Shopify?",
yes: "Yes, send",
no: "No, don't send",
},
},
analytics: {
enable_prompt: {
uncaught_error: {
question: "Automatically send reports from now on?",
yes: "Yes, automatically send anonymized reports to Shopify",
no: "No, don't send",
},
usage: {
question: "Automatically send anonymized usage and error reports to Shopify? We use these"\
" to make development on Shopify better.",
yes: "Yes, automatically send anonymized reports to Shopify",
no: "No, don't send",
},
},
},
connect: {
already_connected_warning: "{{yellow:! This app appears to be already connected}}",
project_type_select: "What type of project would you like to connect?",
cli_yml_saved: ".shopify-cli.yml saved to project root",
},
context: {
open_url: <<~OPEN,
Please open this URL in your browser:
{{green:%s}}
OPEN
},
env_file: {
saving_header: "writing %s file…",
saving: "writing %s file",
saved: "%s saved to project root",
},
config: {
help: <<~HELP,
Change configuration of how the CLI operates
Usage: {{command:%s config [ feature | analytics ] }}
HELP
feature: {
help: <<~HELP,
Change configuration of various features
Usage: {{command:%s config [ feature ] [ feature_name ] }}
HELP
enabled: "{{v}} feature {{green:%s}} has been enabled",
disabled: "{{v}} feature {{green:%s}} has been disabled",
is_enabled: "{{v}} feature {{green:%s}} is currently enabled",
is_disabled: "{{v}} feature {{green:%s}} is currently disabled",
},
analytics: {
help: <<~HELP,
Opt in/out of anonymous usage reporting
Usage: {{command:%s config [ analytics ] }}
HELP
enabled: "{{v}} analytics have been enabled",
disabled: "{{v}} analytics have been disabled",
is_enabled: "{{v}} analytics are currently enabled",
is_disabled: "{{v}} analytics are currently disabled",
},
},
git: {
error: {
directory_exists: "Project directory already exists. Please create a project with a new name.",
no_branches_found: "Could not find any git branches",
nonexistent: "Git needs to be installed: https://git-scm.com/download",
repo_not_initiated:
"Git repo is not initiated. Please run {{command:git init}} and make at least one commit.",
no_commits_made: "No git commits have been made. Please make at least one commit.",
remote_not_added: "Remote could not be added.",
sparse_checkout_not_enabled: "Sparse checkout could not be enabled.",
sparse_checkout_not_set: "Sparse checkout set command failed.",
pull_failed: "Pull failed.",
pull_failed_bad_branch: "Pull failed. Branch %s cannot be found. Check the branch name and try again.",
merge_failed: "The file %s merge failed.",
},
cloning: "Cloning %s into %s…",
cloned: "{{v}} Cloned into %s",
pulling_from_to: "Pulling %s into %s…",
pulling: "Pulling…",
pulled: "Pulled into %s",
},
help: {
error: {
command_not_found: "Command %s not found.",
},
preamble: <<~MESSAGE,
Use {{command:%s help <command>}} to display detailed information about a specific command.
MESSAGE
},
heroku: {
error: {
authentication: "Could not authenticate with Heroku",
creation: "Heroku app could not be created",
deploy: "Could not deploy to Heroku",
download: "Heroku CLI could not be downloaded",
install: "Could not install Heroku CLI",
could_not_select_app: "Heroku app {{green:%s}} could not be selected",
set_config: "Failed to set config %s to %s in Heroku app",
add_buildpacks: "Failed to add buildpacks in Heroku app",
},
},
js_deps: {
error: {
missing_package: "expected to have a file at: %s",
invalid_package: "{{info:%s}} was not valid JSON. Fix this then try again",
install_spinner_error: "Unable to install all %d dependencies",
install_error: "An error occurred while installing dependencies",
},
installing: "Installing dependencies with %s…",
installed: "Dependencies installed",
npm_installing_deps: "Installing %d dependencies…",
npm_installed_deps: "%d npm dependencies installed",
},
login: {
help: <<~HELP,
Log in to the Shopify CLI by authenticating with a store or partner organization
Usage: {{command:%s login [--store/-s STORE]}}
HELP
invalid_shop: <<~MESSAGE,
Invalid store provided (%s). Please provide the store in the following format: my-store.myshopify.com
MESSAGE
shop_prompt: <<~PROMPT,
What store are you connecting to? (e.g. my-store.myshopify.com; do {{bold:NOT}} include protocol part, e.g., https://)
PROMPT
spinner: {
initiating: "Initiating authentication",
finalizing: "Finalizing authentication",
loading_organizations: "Loading available partner organizations",
},
},
logout: {
help: <<~HELP,
Log out of an authenticated partner organization and store, or clear invalid credentials
Usage: {{command:%s logout}}
HELP
success: "Successfully logged out of your account",
},
switch: {
help: <<~HELP,
Switch between development stores in your partner organization
Usage: {{command:%s switch [--store/-s STORE]}}
HELP
disabled_as_shopify_org: "Can't switch development stores logged in as {{green:Shopify partners org}}",
success: "Switched development store to {{green:%s}}",
},
identity_auth: {
error: {
timeout: "Timed out while waiting for response from Shopify",
local_identity_not_running: "Identity needs to be running locally in order to proceed.",
reauthenticate: "Please login again with {{command:shopify login}}",
invalid_destination: "The store %s doesn't exist. Please log out and try again.",
},
location: {
admin: "development store",
partner: "Shopify Partners account",
shopifolk: "{{green:Shopify Employee account}}",
},
authentication_required:
"{{i}} Authentication required. Login to the URL below with your %s credentials to continue.",
servlet: {
success_response: "You've successfuly logged into the Shopify CLI!",
invalid_request_response: "Invalid request: %s",
invalid_state_response: "The anti-forgery state token does not match the initial request.",
},
login_prompt: "Please ensure you've logged in with {{command:%s login}} and try again",
token_authentication: "%s environment variable. We'll authenticate using its value as a token.",
},
options: {
help_text: "Print help for command",
},
partners_api: {
org_name_and_id: "%s (%s)",
error: {
account_not_found: <<~MESSAGE,
{{x}} error: Your account was not found. Please sign up at https://partners.shopify.com/signup
For authentication issues, run {{command:%s logout}} to clear invalid credentials
MESSAGE
},
},
php_deps: {
error: {
missing_package: "Expected to have a file at: %s",
invalid_package: "{{info:%s}} was not valid JSON. Fix this then try again",
install: "Failed to install %s packages",
install_spinner_error: "Unable to install all %d dependencies",
install_error: "An error occurred while installing dependencies",
},
installing: "Installing Composer dependencies…",
installed: "Dependencies installed",
installed_count: "%d dependencies installed",
},
api: {
error: {
failed_auth: "Failed to authenticate with Shopify. Please try again later.",
failed_auth_debugging: "{{red:Please provide this information with your report:}}\n%s\n\n",
forbidden: <<~FORBIDDEN,
Command not allowed with current login. Please check your login details with {{command:%s whoami}}. You may need to request additional permissions for this action.
FORBIDDEN
internal_server_error: "{{red:{{x}} An unexpected error occurred on Shopify.}}",
internal_server_error_debug: "\n{{red:Response details:}}\n%s\n\n",
invalid_url: "Invalid URL: %s",
},
},
populate: {
help: <<~HELP,
Populate a Shopify store with example customers, orders, or products.
Usage: {{command:%s populate [ customers | draftorders | products ]}}
HELP
extended_help: <<~HELP,
{{bold:Subcommands:}}
{{cyan:customers [options]}}: Add dummy customers to the specified store.
Usage: {{command:%1$s populate customers}}
{{cyan:draftorders [options]}}: Add dummy orders to the specified store.
Usage: {{command:%1$s populate draftorders}}
{{cyan:products [options]}}: Add dummy products to the specified store.
Usage: {{command:%1$s populate products}}
{{bold:Options:}}
{{cyan:--count [integer]}}: The number of dummy items to populate. Defaults to 5.
{{cyan:--silent}}: Silence the populate output.
{{cyan:--help}}: Display more options specific to each subcommand.
{{bold:Examples:}}
{{command:%1$s populate products}}
Populate your store with 5 additional products.
{{command:%1$s populate customers --count 30}}
Populate your store with 30 additional customers.
{{command:%1$s populate draftorders}}
Populate your store with 5 additional orders.
{{command:%1$s populate products --help}}
Display the list of options available to customize the {{command:%1$s populate products}} command.
HELP
error: {
no_shop: "No store found. Please run {{command:%s login --store/-s STORE}} to login to a specific store",
},
customer: {
added: "%s added to {{green:%s}} at {{underline:%scustomers/%d}}",
},
draft_order: {
added: "DraftOrder added to {{green:%s}} at {{underline:%sdraft_orders/%d}}",
},
options: {
header: "{{bold:{{cyan:%s}} options:}}",
count_help: "Number of resources to generate",
},
populating: "Populating %d %ss…",
completion_message: <<~COMPLETION_MESSAGE,
Successfully added %d %s to {{green:%s}}
{{*}} View all %ss at {{underline:%s%ss}}
COMPLETION_MESSAGE
product: {
added: "%s added to {{green:%s}} at {{underline:%sproducts/%d}}",
},
},
project: {
error: {
not_in_project: <<~MESSAGE,
{{x}} You are not in a Shopify app project
{{yellow:{{*}}}}{{reset: Run}}{{cyan: shopify app create}}{{reset: to create your app}}
MESSAGE
},
},
yaml: {
error: {
not_hash: "{{x}} %s was not a proper YAML file. Expecting a hash.",
invalid: "{{x}} %s contains invalid YAML: %s",
not_found: "{{x}} %s not found",
},
},
project_type: {
error: {
cannot_override_core: "Can't register duplicate core command '%s' from %s",
},
},
system: {
help: <<~HELP,
Print details about the development system.
Usage: {{command:%s system [all]}}
{{cyan:all}}: displays more details about development system and environment
HELP
error: {
unknown_option: "{{x}} {{red:unknown option '%s'}}",
},
header: "{{bold:Shopify CLI}}",
shop_header: "{{bold:Current Shop}}",
const: "%17s = %s",
ruby_header: <<~RUBY_MESSAGE,
{{bold:Ruby (via RbConfig)}}
%s
RUBY_MESSAGE
rb_config: "%-25s - RbConfig[\"%s\"]",
command_header: "{{bold:Commands}}",
command_with_path: "{{v}} %s, %s",
command_not_found: "{{x}} %s",
ngrok_available: "{{v}} ngrok, %s",
ngrok_not_available: "{{x}} ngrok NOT available",
project: {
header: "{{bold:In a {{cyan:%s}} project directory}}",
command_with_path: "{{v}} %s, %s, version %s",
command_not_found: "{{x}} %s",
env_header: "{{bold:Project environment}}",
env_not_set: "not set",
env: "%-18s = %s",
no_env: "{{x}} .env file not present",
},
environment_header: "{{bold:Environment}}",
env: "%-17s = %s",
identity_header: "{{bold:Identity}}",
identity_is_shopifolk: "{{v}} Checked user settings: you’re Shopify staff!",
},
store: {
help: <<~HELP,
Display current store.
Usage: {{command:%s store}}
HELP
shop: "You're currently logged into {{green:%s}}",
},
tasks: {
confirm_store: {
prompt: "You are currently logged into {{green:%s}}. Do you want to proceed using this store?",
confirmation: "Proceeding using {{green:%s}}",
cancelling: "Cancelling…",
},
ensure_env: {
organization_select: "To which partner organization does this project belong?",
no_development_stores: <<~MESSAGE,
No development stores available.
Visit {{underline:https://partners.shopify.com/%d/stores}} to create one
MESSAGE
development_store_select: "Which development store would you like to use?",
app_select: "To which app does this project belong?",
no_apps: "You have no apps to connect to, creating a new app.",
app_name: "App name",
app_type: {
select: "What type of app are you building?",
select_public: "Public: An app built for a wide merchant audience.",
select_custom: "Custom: An app custom built for a single client.",
selected: "App type {{green:%s}}",
},
},
ensure_dev_store: {
could_not_verify_store: "Couldn't verify your store. If you don't have a development store set up, "\
"please create one in your Partners dashboard and run `shopify app connect`.",
convert_to_dev_store: <<~MESSAGE,
Do you want to convert %s to a development store?
Doing this will allow you to install your app, but the store will become {{bold:transfer-disabled}}.
Learn more: https://shopify.dev/tutorials/transfer-a-development-store-to-a-merchant#transfer-disabled-stores
MESSAGE
transfer_disabled: "{{v}} Transfer has been disabled on %s.",
},
ensure_project_type: {
wrong_project_type: "This command can only be run within %s projects.",
},
update_dashboard_urls: {
updated: "{{v}} Whitelist URLS updated in Partners Dashboard}}",
update_error:
"{{x}} error: For authentication issues, run {{command:%s logout}} to clear invalid credentials",
},
select_org_and_shop: {
authentication_issue: "For authentication issues, run {{command:%s logout}} to clear invalid credentials",
create_store: "Visit {{underline:https://partners.shopify.com/%s/stores}} to create one",
development_store: "Using development store {{green:%s}}",
development_store_select: "Select a development store",
error: {
no_development_stores: "{{x}} No Development Stores available.",
no_organizations: "No partner organizations available.",
organization_not_found: "Cannot find a partner organization with that ID",
shopifolk_notice: <<~MESSAGE,
{{i}} As a {{green:Shopify}} employee, the authentication should take you to the Shopify Okta login,
NOT the partner account login. Please run {{command:%s logout}} and try again.
MESSAGE
},
first_party: "Are you working on a {{green:Shopify project}} on behalf of the"\
" {{green:Shopify partners org}}?",
identified_as_shopify: "We've identified you as a {{green:Shopify}} employee.",
organization: "Partner organization {{green:%s (%s)}}",
organization_select: "Select partner organization",
},
},
tunnel: {
error: {
stop: "ngrok tunnel could not be stopped. Try running {{command:killall -9 ngrok}}",
url_fetch_failure: "Unable to fetch external url",
prereq_command_required: "%1$s is required for installing ngrok. Please install %1$s using the appropriate"\
" package manager for your system.",
ngrok: "Something went wrong with ngrok installation,"\
"please make sure %s exists within %s before trying again",
signup_required: "A free ngrok account is required: {{underline:https://ngrok.com/signup}}. After you "\
"signup, install your personal authorization token using {{command:%s app tunnel auth <token>}}.",
},
installing: "Installing ngrok…",
not_running: "{{green:x}} ngrok tunnel not running",
prereq_command_location: "%s @ %s",
start_with_account: "{{v}} ngrok tunnel running at {{underline:%s}}, with account %s",
stopped: "{{green:x}} ngrok tunnel stopped",
timed_out: "{{x}} ngrok tunnel has timed out, restarting…",
will_timeout: "{{*}} This tunnel will timeout in {{red:%s}}",
},
version: {
help: <<~HELP,
Prints version number.
Usage: {{command:%s version}}
HELP
},
warning: {
development_version: <<~DEVELOPMENT,
{{*}} {{yellow:You are running a development version of the CLI at:}}
{{yellow:%s}}
DEVELOPMENT
new_version: <<~MESSAGE,
{{*}} {{yellow:A new version of Shopify CLI is available! You have version %s and the latest version is %s.
To upgrade, follow the instructions for the package manager you’re using:
{{underline:https://shopify.dev/tools/cli/troubleshooting#upgrade-shopify-cli}}}}
MESSAGE
in_3_0_directory: <<~MESSAGE,
{{*}} {{yellow:You appear to be working with a CLI 3.0 project, but running a CLI 2.0 command. New syntax documentation: https://shopify.dev/apps/tools/cli/commands#command-syntax}}
For more information on CLI 3.0, see the documentation:
{{underline:https://shopify.dev/apps/tools/cli}}
Already have CLI 3.0 installed? Run it using your node package manager, as explained here:
{{underline:https://shopify.dev/apps/tools/cli/cli-2#running-shopify-cli-2-x-and-3-x-in-the-same-environment}}
MESSAGE
},
reporting: {
help: <<~HELP,
Turns anonymous reporting on or off.
Usage: {{command:%s reporting on}}
HELP
invalid_argument: <<~MESSAGE,
{{command:%s reporting %s}} is not supported. The valid values are {{command:on}} or {{command:off}}
MESSAGE
missing_argument: <<~MESSAGE,
{{command:%s reporting}} expects an argument {{command:on}} or {{command:off}}
MESSAGE
turned_on_message: <<~MESSAGE,
Anonymized reports will be sent to Shopify.
MESSAGE
turned_off_message: <<~MESSAGE,
Turn on automatic reporting later with {{command:%s reporting on}}.
MESSAGE
},
whoami: {
help: <<~HELP,
Identifies which partner organization or store you are currently logged into.
Usage: {{command:%s whoami}}
HELP
not_logged_in: <<~MESSAGE,
It doesn't appear that you're logged in. You must log into a partner organization or a store staff account.
If trying to log into a store staff account, please use {{command:%s login --store/-s STORE}} to log in.
MESSAGE
logged_in_shop_only: <<~MESSAGE,
Logged into store {{green:%s}} as staff (no partner organizations available for this login)
MESSAGE
logged_in_partner_only: "Logged into partner organization {{green:%s}}",
logged_in_partner_and_shop: "Logged into store {{green:%s}} in partner organization {{green:%s}}",
},
error: "Error",
try_this: "Try this",
},
}.freeze
end
end