@shopify/cli-kit 3.69.4 → 3.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{assets/cli-ruby/LICENSE → LICENSE} +0 -2
- package/dist/cli/api/graphql/admin/generated/get_theme_file_bodies.d.ts +41 -0
- package/dist/cli/api/graphql/admin/generated/get_theme_file_bodies.js +165 -0
- package/dist/cli/api/graphql/admin/generated/get_theme_file_bodies.js.map +1 -0
- package/dist/cli/api/graphql/admin/generated/get_theme_file_checksums.d.ts +29 -0
- package/dist/cli/api/graphql/admin/generated/get_theme_file_checksums.js +100 -0
- package/dist/cli/api/graphql/admin/generated/get_theme_file_checksums.js.map +1 -0
- package/dist/cli/api/graphql/admin/generated/theme_delete.d.ts +17 -0
- package/dist/cli/api/graphql/admin/generated/theme_delete.js +53 -0
- package/dist/cli/api/graphql/admin/generated/theme_delete.js.map +1 -0
- package/dist/cli/api/graphql/admin/generated/theme_files_upsert.d.ts +21 -0
- package/dist/cli/api/graphql/admin/generated/theme_files_upsert.js +82 -0
- package/dist/cli/api/graphql/admin/generated/theme_files_upsert.js.map +1 -0
- package/dist/cli/api/graphql/admin/generated/theme_publish.d.ts +21 -0
- package/dist/cli/api/graphql/admin/generated/theme_publish.js +65 -0
- package/dist/cli/api/graphql/admin/generated/theme_publish.js.map +1 -0
- package/dist/cli/api/graphql/admin/generated/theme_update.d.ts +23 -0
- package/dist/cli/api/graphql/admin/generated/theme_update.js +75 -0
- package/dist/cli/api/graphql/admin/generated/theme_update.js.map +1 -0
- package/dist/private/node/api/graphql.d.ts +2 -2
- package/dist/private/node/api/graphql.js +4 -4
- package/dist/private/node/api/graphql.js.map +1 -1
- package/dist/private/node/api/headers.js +1 -1
- package/dist/private/node/api/headers.js.map +1 -1
- package/dist/private/node/api/rest.d.ts +1 -2
- package/dist/private/node/api/rest.js +2 -3
- package/dist/private/node/api/rest.js.map +1 -1
- package/dist/private/node/api.d.ts +1 -1
- package/dist/private/node/api.js +41 -2
- package/dist/private/node/api.js.map +1 -1
- package/dist/private/node/conf-store.d.ts +9 -4
- package/dist/private/node/conf-store.js +8 -6
- package/dist/private/node/conf-store.js.map +1 -1
- package/dist/private/node/constants.d.ts +3 -0
- package/dist/private/node/constants.js +3 -0
- package/dist/private/node/constants.js.map +1 -1
- package/dist/private/node/session/exchange.js +2 -2
- package/dist/private/node/session/exchange.js.map +1 -1
- package/dist/private/node/session/schema.d.ts +40 -40
- package/dist/private/node/session/scopes.js +3 -5
- package/dist/private/node/session/scopes.js.map +1 -1
- package/dist/private/node/session.js +2 -3
- package/dist/private/node/session.js.map +1 -1
- package/dist/private/node/ui/alert.js +1 -3
- package/dist/private/node/ui/alert.js.map +1 -1
- package/dist/private/node/ui/components/ConcurrentOutput.d.ts +1 -0
- package/dist/private/node/ui/components/ConcurrentOutput.js +4 -4
- package/dist/private/node/ui/components/ConcurrentOutput.js.map +1 -1
- package/dist/private/node/ui/components/Link.js +3 -0
- package/dist/private/node/ui/components/Link.js.map +1 -1
- package/dist/private/node/ui/components/Link.test.js +23 -0
- package/dist/private/node/ui/components/Link.test.js.map +1 -1
- package/dist/private/node/ui.js +1 -1
- package/dist/private/node/ui.js.map +1 -1
- package/dist/public/common/version.d.ts +1 -1
- package/dist/public/common/version.js +1 -1
- package/dist/public/common/version.js.map +1 -1
- package/dist/public/node/analytics.js +1 -2
- package/dist/public/node/analytics.js.map +1 -1
- package/dist/public/node/api/admin.d.ts +2 -1
- package/dist/public/node/api/admin.js +36 -10
- package/dist/public/node/api/admin.js.map +1 -1
- package/dist/public/node/api/graphql.d.ts +2 -0
- package/dist/public/node/api/graphql.js +3 -3
- package/dist/public/node/api/graphql.js.map +1 -1
- package/dist/public/node/api/webhooks.d.ts +13 -0
- package/dist/public/node/api/webhooks.js +34 -0
- package/dist/public/node/api/webhooks.js.map +1 -0
- package/dist/public/node/base-command.js +4 -0
- package/dist/public/node/base-command.js.map +1 -1
- package/dist/public/node/cli-launcher.d.ts +12 -0
- package/dist/public/node/cli-launcher.js +29 -0
- package/dist/public/node/cli-launcher.js.map +1 -0
- package/dist/public/node/cli.d.ts +16 -10
- package/dist/public/node/cli.js +45 -101
- package/dist/public/node/cli.js.map +1 -1
- package/dist/public/node/context/fqdn.js +11 -7
- package/dist/public/node/context/fqdn.js.map +1 -1
- package/dist/public/node/context/local.d.ts +7 -0
- package/dist/public/node/context/local.js +16 -0
- package/dist/public/node/context/local.js.map +1 -1
- package/dist/public/node/environment.d.ts +7 -0
- package/dist/public/node/environment.js +11 -0
- package/dist/public/node/environment.js.map +1 -1
- package/dist/public/node/error-handler.js +2 -4
- package/dist/public/node/error-handler.js.map +1 -1
- package/dist/public/node/error.js +4 -13
- package/dist/public/node/error.js.map +1 -1
- package/dist/public/node/global-context.d.ts +15 -0
- package/dist/public/node/global-context.js +29 -0
- package/dist/public/node/global-context.js.map +1 -0
- package/dist/public/node/hooks/prerun.js +0 -2
- package/dist/public/node/hooks/prerun.js.map +1 -1
- package/dist/public/node/is-global.js +2 -1
- package/dist/public/node/is-global.js.map +1 -1
- package/dist/public/node/json-schema.d.ts +2 -1
- package/dist/public/node/json-schema.js +8 -3
- package/dist/public/node/json-schema.js.map +1 -1
- package/dist/public/node/node-package-manager.js +1 -1
- package/dist/public/node/node-package-manager.js.map +1 -1
- package/dist/public/node/notifications-system.d.ts +193 -0
- package/dist/public/node/notifications-system.js +242 -0
- package/dist/public/node/notifications-system.js.map +1 -0
- package/dist/public/node/output.d.ts +1 -6
- package/dist/public/node/output.js +1 -5
- package/dist/public/node/output.js.map +1 -1
- package/dist/public/node/path.d.ts +3 -3
- package/dist/public/node/path.js +4 -5
- package/dist/public/node/path.js.map +1 -1
- package/dist/public/node/system.js +14 -2
- package/dist/public/node/system.js.map +1 -1
- package/dist/public/node/themes/api.d.ts +4 -12
- package/dist/public/node/themes/api.js +225 -36
- package/dist/public/node/themes/api.js.map +1 -1
- package/dist/public/node/themes/factories.d.ts +1 -3
- package/dist/public/node/themes/factories.js +0 -16
- package/dist/public/node/themes/factories.js.map +1 -1
- package/dist/public/node/themes/types.d.ts +1 -0
- package/dist/public/node/themes/types.js.map +1 -1
- package/dist/public/node/themes/utils.d.ts +2 -0
- package/dist/public/node/themes/utils.js +11 -0
- package/dist/public/node/themes/utils.js.map +1 -1
- package/dist/public/node/tree-kill.js +0 -2
- package/dist/public/node/tree-kill.js.map +1 -1
- package/dist/public/node/ui.js +30 -80
- package/dist/public/node/ui.js.map +1 -1
- package/dist/public/node/vendor/dev_server/DevServer.d.ts +19 -0
- package/dist/public/node/vendor/dev_server/DevServer.js +170 -0
- package/dist/public/node/vendor/dev_server/DevServer.js.map +1 -0
- package/dist/public/node/version.d.ts +13 -0
- package/dist/public/node/version.js +38 -0
- package/dist/public/node/version.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -7
- package/assets/cli-ruby/.devcontainer.json +0 -5
- package/assets/cli-ruby/.rubocop.yml +0 -102
- package/assets/cli-ruby/.rubocop_todo.yml +0 -24
- package/assets/cli-ruby/CHANGELOG.md +0 -634
- package/assets/cli-ruby/CONTRIBUTING.md +0 -3
- package/assets/cli-ruby/Codespace.dockerfile +0 -35
- package/assets/cli-ruby/Gemfile +0 -32
- package/assets/cli-ruby/README.md +0 -30
- package/assets/cli-ruby/Rakefile +0 -167
- package/assets/cli-ruby/SECURITY.md +0 -59
- package/assets/cli-ruby/Tests.dockerfile +0 -35
- package/assets/cli-ruby/assets/logo.png +0 -0
- package/assets/cli-ruby/bin/console +0 -11
- package/assets/cli-ruby/bin/load_shopify.rb +0 -22
- package/assets/cli-ruby/bin/shopify +0 -67
- package/assets/cli-ruby/bin/shopify.bat +0 -3
- package/assets/cli-ruby/dev.yml +0 -29
- package/assets/cli-ruby/docs/README.md +0 -13
- package/assets/cli-ruby/docs/contributors/testing.md +0 -27
- package/assets/cli-ruby/docs/users/installation.md +0 -3
- package/assets/cli-ruby/docs/users/migrate-from-themekit.md +0 -18
- package/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.1.0.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.2.0.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.2.1.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-arm-macos-v0.3.0.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.1.0.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.2.0.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.2.1.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-linux-v0.3.0.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.1.0.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.2.0.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.2.1.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-macos-v0.3.0.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.1.0.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.2.0.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.2.1.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/hashes/javy-x86_64-windows-v0.3.0.gz.sha256 +0 -1
- package/assets/cli-ruby/ext/javy/javy.rb +0 -204
- package/assets/cli-ruby/ext/javy/version +0 -1
- package/assets/cli-ruby/ext/shopify-extensions/extconf.rb +0 -21
- package/assets/cli-ruby/ext/shopify-extensions/shopify_extensions.rb +0 -152
- package/assets/cli-ruby/ext/shopify-extensions/version +0 -1
- package/assets/cli-ruby/features/support/assertions.rb +0 -17
- package/assets/cli-ruby/features/support/cli.rb +0 -7
- package/assets/cli-ruby/features/support/process.rb +0 -27
- package/assets/cli-ruby/features/support/requires.rb +0 -3
- package/assets/cli-ruby/lib/docgen/class_template.md.erb +0 -81
- package/assets/cli-ruby/lib/docgen/index_template.md.erb +0 -5
- package/assets/cli-ruby/lib/docgen/markdown.rb +0 -101
- package/assets/cli-ruby/lib/graphql/admin_introspection.graphql +0 -87
- package/assets/cli-ruby/lib/graphql/all_organizations.graphql +0 -19
- package/assets/cli-ruby/lib/graphql/all_orgs_with_apps.graphql +0 -30
- package/assets/cli-ruby/lib/graphql/api_versions.graphql +0 -6
- package/assets/cli-ruby/lib/graphql/convert_dev_to_test_store.graphql +0 -10
- package/assets/cli-ruby/lib/graphql/create_app.graphql +0 -20
- package/assets/cli-ruby/lib/graphql/create_customer.graphql +0 -9
- package/assets/cli-ruby/lib/graphql/create_draft_order.graphql +0 -8
- package/assets/cli-ruby/lib/graphql/create_product.graphql +0 -9
- package/assets/cli-ruby/lib/graphql/extension_create.graphql +0 -37
- package/assets/cli-ruby/lib/graphql/extension_update_draft.graphql +0 -19
- package/assets/cli-ruby/lib/graphql/fetch_specifications.graphql +0 -14
- package/assets/cli-ruby/lib/graphql/find_organization.graphql +0 -18
- package/assets/cli-ruby/lib/graphql/find_organization_with_apps.graphql +0 -20
- package/assets/cli-ruby/lib/graphql/get_app_by_api_key.graphql +0 -9
- package/assets/cli-ruby/lib/graphql/get_app_urls.graphql +0 -6
- package/assets/cli-ruby/lib/graphql/get_extension_registrations.graphql +0 -28
- package/assets/cli-ruby/lib/graphql/get_variant_id.graphql +0 -16
- package/assets/cli-ruby/lib/graphql/update_dashboard_urls.graphql +0 -8
- package/assets/cli-ruby/lib/project_types/extension/cli.rb +0 -75
- package/assets/cli-ruby/lib/project_types/extension/commands/extension_command.rb +0 -29
- package/assets/cli-ruby/lib/project_types/extension/commands/serve.rb +0 -164
- package/assets/cli-ruby/lib/project_types/extension/errors.rb +0 -9
- package/assets/cli-ruby/lib/project_types/extension/extension_project.rb +0 -151
- package/assets/cli-ruby/lib/project_types/extension/extension_project_keys.rb +0 -12
- package/assets/cli-ruby/lib/project_types/extension/features/argo.rb +0 -50
- package/assets/cli-ruby/lib/project_types/extension/features/argo_config.rb +0 -59
- package/assets/cli-ruby/lib/project_types/extension/features/argo_dependencies.rb +0 -28
- package/assets/cli-ruby/lib/project_types/extension/features/argo_runtime.rb +0 -15
- package/assets/cli-ruby/lib/project_types/extension/features/argo_serve.rb +0 -115
- package/assets/cli-ruby/lib/project_types/extension/features/argo_setup.rb +0 -54
- package/assets/cli-ruby/lib/project_types/extension/features/argo_setup_step.rb +0 -31
- package/assets/cli-ruby/lib/project_types/extension/features/argo_setup_steps.rb +0 -51
- package/assets/cli-ruby/lib/project_types/extension/features/runtimes/admin.rb +0 -29
- package/assets/cli-ruby/lib/project_types/extension/features/runtimes/base.rb +0 -19
- package/assets/cli-ruby/lib/project_types/extension/features/runtimes/checkout_post_purchase.rb +0 -23
- package/assets/cli-ruby/lib/project_types/extension/features/runtimes/checkout_ui_extension.rb +0 -29
- package/assets/cli-ruby/lib/project_types/extension/loaders/project.rb +0 -50
- package/assets/cli-ruby/lib/project_types/extension/loaders/specification_handler.rb +0 -22
- package/assets/cli-ruby/lib/project_types/extension/messages/message_loading.rb +0 -34
- package/assets/cli-ruby/lib/project_types/extension/messages/messages.rb +0 -320
- package/assets/cli-ruby/lib/project_types/extension/models/app.rb +0 -14
- package/assets/cli-ruby/lib/project_types/extension/models/lazy_specification_handler.rb +0 -12
- package/assets/cli-ruby/lib/project_types/extension/models/specification.rb +0 -41
- package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/default.rb +0 -145
- package/assets/cli-ruby/lib/project_types/extension/models/specification_handlers/theme_app_extension.rb +0 -134
- package/assets/cli-ruby/lib/project_types/extension/models/specifications.rb +0 -91
- package/assets/cli-ruby/lib/project_types/extension/models/validation_error.rb +0 -17
- package/assets/cli-ruby/lib/project_types/extension/models/version.rb +0 -15
- package/assets/cli-ruby/lib/project_types/extension/tasks/configure_features.rb +0 -73
- package/assets/cli-ruby/lib/project_types/extension/tasks/configure_options.rb +0 -21
- package/assets/cli-ruby/lib/project_types/extension/tasks/converters/validation_error_converter.rb +0 -25
- package/assets/cli-ruby/lib/project_types/extension/tasks/converters/version_converter.rb +0 -28
- package/assets/cli-ruby/lib/project_types/extension/tasks/fetch_specifications.rb +0 -21
- package/assets/cli-ruby/lib/project_types/node/cli.rb +0 -12
- package/assets/cli-ruby/lib/project_types/node/forms/create.rb +0 -45
- package/assets/cli-ruby/lib/project_types/node/messages/messages.rb +0 -33
- package/assets/cli-ruby/lib/project_types/php/cli.rb +0 -16
- package/assets/cli-ruby/lib/project_types/php/forms/create.rb +0 -44
- package/assets/cli-ruby/lib/project_types/php/messages/messages.rb +0 -29
- package/assets/cli-ruby/lib/project_types/rails/cli.rb +0 -15
- package/assets/cli-ruby/lib/project_types/rails/forms/create.rb +0 -75
- package/assets/cli-ruby/lib/project_types/rails/gem.rb +0 -110
- package/assets/cli-ruby/lib/project_types/rails/messages/messages.rb +0 -101
- package/assets/cli-ruby/lib/project_types/script/cli.rb +0 -27
- package/assets/cli-ruby/lib/project_types/script/commands/connect.rb +0 -16
- package/assets/cli-ruby/lib/project_types/script/commands/create.rb +0 -24
- package/assets/cli-ruby/lib/project_types/script/commands/javy.rb +0 -24
- package/assets/cli-ruby/lib/project_types/script/commands/push.rb +0 -26
- package/assets/cli-ruby/lib/project_types/script/loaders/project.rb +0 -46
- package/assets/cli-ruby/lib/project_types/script/loaders/specification_handler.rb +0 -22
- package/assets/cli-ruby/lib/project_types/script/messages/messages.rb +0 -11
- package/assets/cli-ruby/lib/project_types/theme/cli.rb +0 -33
- package/assets/cli-ruby/lib/project_types/theme/commands/common/root_helper.rb +0 -94
- package/assets/cli-ruby/lib/project_types/theme/commands/common/shop_helper.rb +0 -13
- package/assets/cli-ruby/lib/project_types/theme/commands/console.rb +0 -23
- package/assets/cli-ruby/lib/project_types/theme/commands/delete.rb +0 -70
- package/assets/cli-ruby/lib/project_types/theme/commands/init.rb +0 -46
- package/assets/cli-ruby/lib/project_types/theme/commands/list.rb +0 -33
- package/assets/cli-ruby/lib/project_types/theme/commands/open.rb +0 -73
- package/assets/cli-ruby/lib/project_types/theme/commands/package.rb +0 -73
- package/assets/cli-ruby/lib/project_types/theme/commands/publish.rb +0 -49
- package/assets/cli-ruby/lib/project_types/theme/commands/pull.rb +0 -118
- package/assets/cli-ruby/lib/project_types/theme/commands/push.rb +0 -160
- package/assets/cli-ruby/lib/project_types/theme/commands/serve.rb +0 -91
- package/assets/cli-ruby/lib/project_types/theme/commands/share.rb +0 -62
- package/assets/cli-ruby/lib/project_types/theme/commands/token.rb +0 -22
- package/assets/cli-ruby/lib/project_types/theme/conversions/base_glob.rb +0 -65
- package/assets/cli-ruby/lib/project_types/theme/conversions/ignore_glob.rb +0 -15
- package/assets/cli-ruby/lib/project_types/theme/conversions/include_glob.rb +0 -15
- package/assets/cli-ruby/lib/project_types/theme/forms/confirm_store.rb +0 -15
- package/assets/cli-ruby/lib/project_types/theme/forms/select.rb +0 -34
- package/assets/cli-ruby/lib/project_types/theme/messages/messages.rb +0 -429
- package/assets/cli-ruby/lib/project_types/theme/models/specification_handlers/theme.rb +0 -19
- package/assets/cli-ruby/lib/project_types/theme/presenters/theme_presenter.rb +0 -48
- package/assets/cli-ruby/lib/project_types/theme/presenters/themes_presenter.rb +0 -29
- package/assets/cli-ruby/lib/project_types/theme/ui/sync_progress_bar.rb +0 -20
- package/assets/cli-ruby/lib/rubygems_plugin.rb +0 -26
- package/assets/cli-ruby/lib/shopify_cli/admin_api.rb +0 -160
- package/assets/cli-ruby/lib/shopify_cli/api.rb +0 -130
- package/assets/cli-ruby/lib/shopify_cli/command/project_command.rb +0 -31
- package/assets/cli-ruby/lib/shopify_cli/command/sub_command.rb +0 -20
- package/assets/cli-ruby/lib/shopify_cli/command.rb +0 -166
- package/assets/cli-ruby/lib/shopify_cli/commands.rb +0 -21
- package/assets/cli-ruby/lib/shopify_cli/constants.rb +0 -101
- package/assets/cli-ruby/lib/shopify_cli/context.rb +0 -709
- package/assets/cli-ruby/lib/shopify_cli/core/cli_version.rb +0 -20
- package/assets/cli-ruby/lib/shopify_cli/core/entry_point.rb +0 -64
- package/assets/cli-ruby/lib/shopify_cli/core/executor.rb +0 -23
- package/assets/cli-ruby/lib/shopify_cli/core/finalize.rb +0 -13
- package/assets/cli-ruby/lib/shopify_cli/core/monorail.rb +0 -122
- package/assets/cli-ruby/lib/shopify_cli/core.rb +0 -8
- package/assets/cli-ruby/lib/shopify_cli/db.rb +0 -114
- package/assets/cli-ruby/lib/shopify_cli/environment.rb +0 -217
- package/assets/cli-ruby/lib/shopify_cli/exception_reporter.rb +0 -80
- package/assets/cli-ruby/lib/shopify_cli/feature.rb +0 -95
- package/assets/cli-ruby/lib/shopify_cli/file_system_listener.rb +0 -30
- package/assets/cli-ruby/lib/shopify_cli/form.rb +0 -42
- package/assets/cli-ruby/lib/shopify_cli/git.rb +0 -320
- package/assets/cli-ruby/lib/shopify_cli/github/issue_url_generator.rb +0 -30
- package/assets/cli-ruby/lib/shopify_cli/github.rb +0 -5
- package/assets/cli-ruby/lib/shopify_cli/helpers/haikunator.rb +0 -92
- package/assets/cli-ruby/lib/shopify_cli/helpers.rb +0 -5
- package/assets/cli-ruby/lib/shopify_cli/http_request.rb +0 -43
- package/assets/cli-ruby/lib/shopify_cli/identity_auth/env_auth_token.rb +0 -34
- package/assets/cli-ruby/lib/shopify_cli/identity_auth.rb +0 -332
- package/assets/cli-ruby/lib/shopify_cli/js_system.rb +0 -115
- package/assets/cli-ruby/lib/shopify_cli/lazy_delegator.rb +0 -55
- package/assets/cli-ruby/lib/shopify_cli/messages/messages.rb +0 -863
- package/assets/cli-ruby/lib/shopify_cli/method_object.rb +0 -123
- package/assets/cli-ruby/lib/shopify_cli/migrator/migration.rb +0 -27
- package/assets/cli-ruby/lib/shopify_cli/migrator/migrations/1631709766_noop.rb +0 -13
- package/assets/cli-ruby/lib/shopify_cli/migrator/migrations/1633691650_merge_reporting_configuration.rb +0 -41
- package/assets/cli-ruby/lib/shopify_cli/migrator.rb +0 -46
- package/assets/cli-ruby/lib/shopify_cli/options.rb +0 -40
- package/assets/cli-ruby/lib/shopify_cli/partners_api/app_extensions/job.rb +0 -36
- package/assets/cli-ruby/lib/shopify_cli/partners_api/app_extensions.rb +0 -46
- package/assets/cli-ruby/lib/shopify_cli/partners_api/organizations.rb +0 -45
- package/assets/cli-ruby/lib/shopify_cli/partners_api.rb +0 -91
- package/assets/cli-ruby/lib/shopify_cli/project.rb +0 -199
- package/assets/cli-ruby/lib/shopify_cli/project_type.rb +0 -66
- package/assets/cli-ruby/lib/shopify_cli/reporting_configuration_controller.rb +0 -29
- package/assets/cli-ruby/lib/shopify_cli/resolve_constant.rb +0 -25
- package/assets/cli-ruby/lib/shopify_cli/resources/env_file.rb +0 -108
- package/assets/cli-ruby/lib/shopify_cli/resources.rb +0 -5
- package/assets/cli-ruby/lib/shopify_cli/result.rb +0 -448
- package/assets/cli-ruby/lib/shopify_cli/shopifolk.rb +0 -82
- package/assets/cli-ruby/lib/shopify_cli/task.rb +0 -20
- package/assets/cli-ruby/lib/shopify_cli/tasks/confirm_store.rb +0 -18
- package/assets/cli-ruby/lib/shopify_cli/tasks/create_api_client.rb +0 -40
- package/assets/cli-ruby/lib/shopify_cli/tasks/ensure_authenticated.rb +0 -19
- package/assets/cli-ruby/lib/shopify_cli/tasks/ensure_dev_store.rb +0 -41
- package/assets/cli-ruby/lib/shopify_cli/tasks/ensure_env.rb +0 -90
- package/assets/cli-ruby/lib/shopify_cli/tasks/ensure_git_dependency.rb +0 -14
- package/assets/cli-ruby/lib/shopify_cli/tasks/ensure_loopback_url.rb +0 -20
- package/assets/cli-ruby/lib/shopify_cli/tasks/ensure_project_type.rb +0 -14
- package/assets/cli-ruby/lib/shopify_cli/tasks/select_org_and_shop.rb +0 -81
- package/assets/cli-ruby/lib/shopify_cli/tasks/update_dashboard_urls.rb +0 -57
- package/assets/cli-ruby/lib/shopify_cli/tasks.rb +0 -44
- package/assets/cli-ruby/lib/shopify_cli/theme/backoff_helper.rb +0 -47
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/cdn_fonts.rb +0 -82
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/certificate_manager.rb +0 -79
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/errors.rb +0 -9
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/header_hash.rb +0 -98
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hooks/file_change_hook.rb +0 -77
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/remote_file_deleter.rb +0 -62
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/remote_file_reloader.rb +0 -63
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/hot-reload-no-script.html +0 -27
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/hot_reload.js +0 -48
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/sse_client.js +0 -43
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/theme.js +0 -114
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/theme_extension.js +0 -121
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/script_injector.rb +0 -57
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/sections_index.rb +0 -50
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload.rb +0 -75
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/local_assets.rb +0 -101
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/proxy.rb +0 -313
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/proxy_param_builder.rb +0 -84
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/reload_mode.rb +0 -34
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/remote_watcher/json_files_update_job.rb +0 -35
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/remote_watcher.rb +0 -44
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/sse.rb +0 -75
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/watcher.rb +0 -64
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/web_server.rb +0 -140
- package/assets/cli-ruby/lib/shopify_cli/theme/dev_server.rb +0 -332
- package/assets/cli-ruby/lib/shopify_cli/theme/development_theme.rb +0 -101
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/app_extension.rb +0 -40
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/hooks/file_change_hook.rb +0 -76
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/hot_reload/script_injector.rb +0 -30
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/hot_reload.rb +0 -13
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/local_assets.rb +0 -31
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/proxy_param_builder.rb +0 -94
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server/watcher.rb +0 -49
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server.rb +0 -175
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/host_theme.rb +0 -109
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/ignore_helper.rb +0 -35
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer/extension_serve_job.rb +0 -120
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer/operation.rb +0 -25
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer.rb +0 -100
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/ui/host_theme_progress_bar.rb +0 -35
- package/assets/cli-ruby/lib/shopify_cli/theme/extension/ui/host_theme_raw_progress_bar.rb +0 -40
- package/assets/cli-ruby/lib/shopify_cli/theme/file.rb +0 -133
- package/assets/cli-ruby/lib/shopify_cli/theme/filter/path_matcher.rb +0 -38
- package/assets/cli-ruby/lib/shopify_cli/theme/ignore_filter.rb +0 -112
- package/assets/cli-ruby/lib/shopify_cli/theme/ignore_helper.rb +0 -37
- package/assets/cli-ruby/lib/shopify_cli/theme/include_filter.rb +0 -67
- package/assets/cli-ruby/lib/shopify_cli/theme/mime_type.rb +0 -34
- package/assets/cli-ruby/lib/shopify_cli/theme/notifier.rb +0 -52
- package/assets/cli-ruby/lib/shopify_cli/theme/repl/api.rb +0 -109
- package/assets/cli-ruby/lib/shopify_cli/theme/repl/auth_dev_server.rb +0 -93
- package/assets/cli-ruby/lib/shopify_cli/theme/repl/auth_middleware.rb +0 -97
- package/assets/cli-ruby/lib/shopify_cli/theme/repl/remote_evaluator.rb +0 -166
- package/assets/cli-ruby/lib/shopify_cli/theme/repl/resources/success.html +0 -78
- package/assets/cli-ruby/lib/shopify_cli/theme/repl/resources/template.liquid +0 -15
- package/assets/cli-ruby/lib/shopify_cli/theme/repl/snippet.rb +0 -81
- package/assets/cli-ruby/lib/shopify_cli/theme/repl.rb +0 -88
- package/assets/cli-ruby/lib/shopify_cli/theme/root.rb +0 -62
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/checksums.rb +0 -66
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/downloader.rb +0 -63
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/error_reporter.rb +0 -45
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/merger.rb +0 -53
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/operation.rb +0 -49
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/standard_reporter.rb +0 -32
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/unsupported_script_warning.rb +0 -90
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk.rb +0 -133
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk_item.rb +0 -64
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk_job.rb +0 -139
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/bulk_request.rb +0 -30
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/apply_to_all.rb +0 -41
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/apply_to_all_form.rb +0 -37
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/base_strategy_form.rb +0 -64
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/select_delete_strategy.rb +0 -29
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/forms/select_update_strategy.rb +0 -30
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/json_delete_handler.rb +0 -49
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader/json_update_handler.rb +0 -71
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader.rb +0 -231
- package/assets/cli-ruby/lib/shopify_cli/theme/syncer.rb +0 -391
- package/assets/cli-ruby/lib/shopify_cli/theme/theme.rb +0 -212
- package/assets/cli-ruby/lib/shopify_cli/theme/theme_access_api.rb +0 -89
- package/assets/cli-ruby/lib/shopify_cli/theme/theme_admin_api.rb +0 -101
- package/assets/cli-ruby/lib/shopify_cli/thread_pool/job.rb +0 -35
- package/assets/cli-ruby/lib/shopify_cli/thread_pool.rb +0 -49
- package/assets/cli-ruby/lib/shopify_cli/transform_data_structure.rb +0 -87
- package/assets/cli-ruby/lib/shopify_cli/utilities.rb +0 -21
- package/assets/cli-ruby/lib/shopify_cli/version.rb +0 -3
- package/assets/cli-ruby/lib/shopify_cli.rb +0 -182
- package/assets/cli-ruby/shipit.rubygems.yml +0 -3
- package/assets/cli-ruby/shopify-cli.gemspec +0 -46
- package/assets/cli-ruby/shopify-dev +0 -16
- package/assets/cli-ruby/test/minitest_ext.rb +0 -115
- package/assets/cli-ruby/test/project_types/extension/extension_test_helpers.rb +0 -70
- package/assets/cli-ruby/test/shopify-cli/migrator/migrations/migration_helper.rb +0 -20
- package/assets/cli-ruby/test/test_helpers.rb +0 -16
- package/assets/cli-ruby/utilities/constants.rb +0 -7
- package/assets/cli-ruby/utilities/docker/container.rb +0 -104
- package/assets/cli-ruby/utilities/docker.rb +0 -89
- package/assets/cli-ruby/utilities/utilities.rb +0 -6
- package/assets/cli-ruby/vendor/deps/cli-kit/REVISION +0 -1
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/autocall.rb +0 -21
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/base_command.rb +0 -49
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/command_registry.rb +0 -94
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/config.rb +0 -133
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/error_handler.rb +0 -123
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/executor.rb +0 -79
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/ini.rb +0 -102
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/levenshtein.rb +0 -82
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/logger.rb +0 -82
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/resolver.rb +0 -60
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/ruby_backports/enumerable.rb +0 -6
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/support/test_helper.rb +0 -244
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/support.rb +0 -9
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/system.rb +0 -243
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/util.rb +0 -193
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/version.rb +0 -5
- package/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit.rb +0 -60
- package/assets/cli-ruby/vendor/deps/cli-ui/REVISION +0 -1
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/ansi.rb +0 -157
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/color.rb +0 -84
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/formatter.rb +0 -193
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_stack.rb +0 -98
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style/box.rb +0 -166
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style/bracket.rb +0 -139
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame/frame_style.rb +0 -120
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/frame.rb +0 -269
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/glyph.rb +0 -84
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/os.rb +0 -73
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/printer.rb +0 -59
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/progress.rb +0 -90
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/progress_plain.rb +0 -50
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/prompt/interactive_options.rb +0 -484
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/prompt/options_handler.rb +0 -29
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/prompt.rb +0 -282
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/spinner/async.rb +0 -40
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/spinner/spin_group.rb +0 -263
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/spinner.rb +0 -66
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/stdout_router.rb +0 -232
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/terminal.rb +0 -46
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/truncater.rb +0 -102
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/version.rb +0 -5
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/widgets/base.rb +0 -27
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/widgets/status.rb +0 -61
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/widgets.rb +0 -77
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/wrap.rb +0 -56
- package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui.rb +0 -234
- package/assets/cli-ruby/vendor/deps/ruby2_keywords/LICENSE +0 -22
- package/assets/cli-ruby/vendor/deps/ruby2_keywords/README.md +0 -67
- package/assets/cli-ruby/vendor/deps/ruby2_keywords/Rakefile +0 -54
- package/assets/cli-ruby/vendor/deps/ruby2_keywords/lib/ruby2_keywords.rb +0 -57
- package/assets/cli-ruby/vendor/deps/ruby2_keywords/ruby2_keywords.gemspec +0 -18
- package/assets/cli-ruby/vendor/deps/ruby2_keywords/test/test_keyword.rb +0 -41
- package/assets/cli-ruby/vendor/deps/smart_properties/REVISION +0 -1
- package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/errors.rb +0 -114
- package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/property.rb +0 -168
- package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/property_collection.rb +0 -83
- package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/validations/ancestor.rb +0 -27
- package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/validations.rb +0 -8
- package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties/version.rb +0 -3
- package/assets/cli-ruby/vendor/deps/smart_properties/lib/smart_properties.rb +0 -174
- package/assets/cli-ruby/vendor/deps/webrick/Gemfile +0 -3
- package/assets/cli-ruby/vendor/deps/webrick/LICENSE.txt +0 -22
- package/assets/cli-ruby/vendor/deps/webrick/README.md +0 -61
- package/assets/cli-ruby/vendor/deps/webrick/Rakefile +0 -10
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/accesslog.rb +0 -157
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/cgi.rb +0 -313
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/compat.rb +0 -36
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/config.rb +0 -158
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/cookie.rb +0 -172
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/htmlutils.rb +0 -30
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/authenticator.rb +0 -117
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/basicauth.rb +0 -116
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/digestauth.rb +0 -395
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/htdigest.rb +0 -132
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/htgroup.rb +0 -97
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/htpasswd.rb +0 -158
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth/userdb.rb +0 -53
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpauth.rb +0 -96
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpproxy.rb +0 -354
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httprequest.rb +0 -636
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpresponse.rb +0 -564
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/https.rb +0 -152
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpserver.rb +0 -294
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/abstract.rb +0 -152
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/cgi_runner.rb +0 -47
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/cgihandler.rb +0 -126
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/erbhandler.rb +0 -88
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/filehandler.rb +0 -552
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet/prochandler.rb +0 -47
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpservlet.rb +0 -23
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpstatus.rb +0 -194
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httputils.rb +0 -512
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/httpversion.rb +0 -76
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/log.rb +0 -156
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/server.rb +0 -381
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/ssl.rb +0 -215
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/utils.rb +0 -265
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick/version.rb +0 -18
- package/assets/cli-ruby/vendor/deps/webrick/lib/webrick.rb +0 -232
- package/assets/cli-ruby/vendor/deps/webrick/webrick.gemspec +0 -74
- package/assets/cli-ruby/vendor/gen/lib/gen/commands/help.rb +0 -20
- package/assets/cli-ruby/vendor/gen/lib/gen/commands/new.rb +0 -21
- package/assets/cli-ruby/vendor/gen/lib/gen/commands.rb +0 -18
- package/assets/cli-ruby/vendor/gen/lib/gen/entry_point.rb +0 -10
- package/assets/cli-ruby/vendor/gen/lib/gen/generator.rb +0 -165
- package/assets/cli-ruby/vendor/gen/lib/gen.rb +0 -39
- package/assets/cli-ruby/vendor/gen/template/Gemfile +0 -10
- package/assets/cli-ruby/vendor/gen/template/README.md +0 -1
- package/assets/cli-ruby/vendor/gen/template/bin/testunit +0 -23
- package/assets/cli-ruby/vendor/gen/template/bin/update-deps +0 -97
- package/assets/cli-ruby/vendor/gen/template/dev-gems.yml +0 -3
- package/assets/cli-ruby/vendor/gen/template/dev-vendor.yml +0 -4
- package/assets/cli-ruby/vendor/gen/template/exe/__app__-gems +0 -17
- package/assets/cli-ruby/vendor/gen/template/exe/__app__-vendor +0 -18
- package/assets/cli-ruby/vendor/gen/template/lib/__app__/commands/example.rb +0 -19
- package/assets/cli-ruby/vendor/gen/template/lib/__app__/commands/help.rb +0 -21
- package/assets/cli-ruby/vendor/gen/template/lib/__app__/commands.rb +0 -18
- package/assets/cli-ruby/vendor/gen/template/lib/__app__/entry_point.rb +0 -10
- package/assets/cli-ruby/vendor/gen/template/lib/__app__.rb +0 -33
- package/assets/cli-ruby/vendor/gen/template/test/example_test.rb +0 -17
- package/assets/cli-ruby/vendor/gen/template/test/test_helper.rb +0 -22
- package/assets/cli-ruby/vendor/lib/semantic/LICENSE +0 -20
- package/assets/cli-ruby/vendor/lib/semantic/semantic.rb +0 -4
- package/assets/cli-ruby/vendor/lib/semantic/version.rb +0 -179
- package/dist/private/node/demo-recorder.d.ts +0 -17
- package/dist/private/node/demo-recorder.js +0 -121
- package/dist/private/node/demo-recorder.js.map +0 -1
- package/dist/public/node/ruby.d.ts +0 -38
- package/dist/public/node/ruby.js +0 -327
- package/dist/public/node/ruby.js.map +0 -1
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
require_relative "../hot_reload/remote_file_reloader"
|
|
3
|
-
require_relative "../hot_reload/remote_file_deleter"
|
|
4
|
-
require "shopify_cli/theme/ignore_helper"
|
|
5
|
-
|
|
6
|
-
module ShopifyCLI
|
|
7
|
-
module Theme
|
|
8
|
-
class DevServer
|
|
9
|
-
module Hooks
|
|
10
|
-
class FileChangeHook
|
|
11
|
-
include ShopifyCLI::Theme::IgnoreHelper
|
|
12
|
-
|
|
13
|
-
attr_reader :include_filter, :ignore_filter
|
|
14
|
-
|
|
15
|
-
def initialize(ctx, theme:, include_filter: nil, ignore_filter: nil)
|
|
16
|
-
@ctx = ctx
|
|
17
|
-
@theme = theme
|
|
18
|
-
@include_filter = include_filter
|
|
19
|
-
@ignore_filter = ignore_filter
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def call(modified, added, removed, streams: nil)
|
|
23
|
-
@streams = streams
|
|
24
|
-
files = (modified + added)
|
|
25
|
-
.map { |f| @theme[f] }
|
|
26
|
-
.reject { |f| ignore_file?(f) }
|
|
27
|
-
files -= liquid_css_files = files.select(&:liquid_css?)
|
|
28
|
-
deleted_files = removed
|
|
29
|
-
.map { |f| @theme[f] }
|
|
30
|
-
.reject { |f| ignore_file?(f) }
|
|
31
|
-
|
|
32
|
-
remote_delete(deleted_files) unless deleted_files.empty?
|
|
33
|
-
reload_page(removed) unless deleted_files.empty?
|
|
34
|
-
|
|
35
|
-
hot_reload(files) unless files.empty?
|
|
36
|
-
remote_reload(liquid_css_files)
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
private
|
|
40
|
-
|
|
41
|
-
def hot_reload(files)
|
|
42
|
-
paths = files.map(&:relative_path)
|
|
43
|
-
@streams.broadcast(JSON.generate(modified: paths))
|
|
44
|
-
@ctx.debug("[HotReload] Modified #{paths.join(", ")}")
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def reload_page(removed)
|
|
48
|
-
@streams.broadcast(JSON.generate(reload_page: true))
|
|
49
|
-
@ctx.debug("[ReloadPage] Deleted #{removed.join(", ")}")
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def remote_reload(files)
|
|
53
|
-
files.each do |file|
|
|
54
|
-
@ctx.debug("reload file each -> file.relative_path #{file.relative_path}")
|
|
55
|
-
remote_file_reloader.reload(file)
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def remote_delete(files)
|
|
60
|
-
files.each do |file|
|
|
61
|
-
@ctx.debug("delete file each -> file.relative_path #{file.relative_path}")
|
|
62
|
-
remote_file_deleter.delete(file)
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
def remote_file_deleter
|
|
67
|
-
@remote_file_deleter ||= HotReload::RemoteFileDeleter.new(@ctx, theme: @theme, streams: @streams)
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
def remote_file_reloader
|
|
71
|
-
@remote_file_reloader ||= HotReload::RemoteFileReloader.new(@ctx, theme: @theme, streams: @streams)
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
end
|
|
77
|
-
end
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module ShopifyCLI
|
|
4
|
-
module Theme
|
|
5
|
-
class DevServer
|
|
6
|
-
class HotReload
|
|
7
|
-
class RemoteFileDeleter
|
|
8
|
-
def initialize(ctx, theme:, streams:)
|
|
9
|
-
@ctx = ctx
|
|
10
|
-
@theme = theme
|
|
11
|
-
@streams = streams
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def delete(file)
|
|
15
|
-
retries = 6
|
|
16
|
-
|
|
17
|
-
until retries.zero?
|
|
18
|
-
retries -= 1
|
|
19
|
-
|
|
20
|
-
_status, body = fetch_asset(file)
|
|
21
|
-
retries = 0 if deleted_file?(body)
|
|
22
|
-
|
|
23
|
-
wait
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
notify(file)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
private
|
|
30
|
-
|
|
31
|
-
def api_client
|
|
32
|
-
@api_client ||= ThemeAdminAPI.new(@ctx, @theme.shop)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def deleted_file?(body)
|
|
36
|
-
remote_checksum = body.dig("asset", "checksum")
|
|
37
|
-
|
|
38
|
-
remote_checksum.nil?
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def notify(file)
|
|
42
|
-
@streams.broadcast(JSON.generate(deleted: [file]))
|
|
43
|
-
@ctx.debug("[RemoteFileDeleter] Deleted #{file}")
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def wait
|
|
47
|
-
sleep(1)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def fetch_asset(file)
|
|
51
|
-
api_client.get(
|
|
52
|
-
path: "themes/#{@theme.id}/assets.json",
|
|
53
|
-
query: URI.encode_www_form("asset[key]" => file.relative_path),
|
|
54
|
-
)
|
|
55
|
-
rescue ShopifyCLI::API::APIRequestNotFoundError
|
|
56
|
-
[404, {}]
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
end
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module ShopifyCLI
|
|
4
|
-
module Theme
|
|
5
|
-
class DevServer
|
|
6
|
-
class HotReload
|
|
7
|
-
class RemoteFileReloader
|
|
8
|
-
def initialize(ctx, theme:, streams:)
|
|
9
|
-
@ctx = ctx
|
|
10
|
-
@theme = theme
|
|
11
|
-
@streams = streams
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def reload(file)
|
|
15
|
-
retries = 6
|
|
16
|
-
|
|
17
|
-
until retries.zero?
|
|
18
|
-
retries -= 1
|
|
19
|
-
|
|
20
|
-
_status, body = fetch_asset(file)
|
|
21
|
-
retries = 0 if updated_file?(body, file)
|
|
22
|
-
|
|
23
|
-
wait
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
notify(file)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
private
|
|
30
|
-
|
|
31
|
-
def api_client
|
|
32
|
-
@api_client ||= ThemeAdminAPI.new(@ctx, @theme.shop)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def updated_file?(body, file)
|
|
36
|
-
remote_checksum = body.dig("asset", "checksum")
|
|
37
|
-
local_checksum = file.checksum
|
|
38
|
-
|
|
39
|
-
remote_checksum == local_checksum
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def notify(file)
|
|
43
|
-
@streams.broadcast(JSON.generate(modified: [file]))
|
|
44
|
-
@ctx.debug("[RemoteFileReloader] Modified #{file}")
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def wait
|
|
48
|
-
sleep(1)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def fetch_asset(file)
|
|
52
|
-
api_client.get(
|
|
53
|
-
path: "themes/#{@theme.id}/assets.json",
|
|
54
|
-
query: URI.encode_www_form("asset[key]" => file.relative_path),
|
|
55
|
-
)
|
|
56
|
-
rescue ShopifyCLI::API::APIRequestNotFoundError
|
|
57
|
-
[404, {}]
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
end
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
<noscript>
|
|
2
|
-
<style type="text/css">
|
|
3
|
-
.shopify-cli-no-script-message {
|
|
4
|
-
font-family: -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif;
|
|
5
|
-
text-size-adjust: 100%;
|
|
6
|
-
text-rendering: optimizeLegibility;
|
|
7
|
-
-webkit-font-smoothing: antialiased;
|
|
8
|
-
-moz-osx-font-smoothing: grayscale;
|
|
9
|
-
position: fixed;
|
|
10
|
-
z-index: 999;
|
|
11
|
-
font-weight: 500;
|
|
12
|
-
left: 0;
|
|
13
|
-
top: 0;
|
|
14
|
-
width: 100vw;
|
|
15
|
-
height: 100vh;
|
|
16
|
-
padding: 10rem 0;
|
|
17
|
-
color: #202223;
|
|
18
|
-
text-align: center;
|
|
19
|
-
background-color: #F6F6F7;
|
|
20
|
-
}
|
|
21
|
-
</style>
|
|
22
|
-
<div class="shopify-cli-no-script-message">
|
|
23
|
-
Shopify CLI requires JavaScript to work.
|
|
24
|
-
<br />
|
|
25
|
-
Activate JavaScript support or try a different browser.
|
|
26
|
-
</div>
|
|
27
|
-
</noscript>
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
class HotReload {
|
|
2
|
-
static reloadMode = () => {
|
|
3
|
-
const namespace = window.__SHOPIFY_CLI_ENV__;
|
|
4
|
-
return namespace.mode;
|
|
5
|
-
};
|
|
6
|
-
static isFullPageReloadMode = () => {
|
|
7
|
-
return HotReload.reloadMode() === "full-page";
|
|
8
|
-
};
|
|
9
|
-
static isReloadModeActive = () => {
|
|
10
|
-
return HotReload.reloadMode() !== "off";
|
|
11
|
-
};
|
|
12
|
-
static setHotReloadCookie = (files) => {
|
|
13
|
-
const date = new Date();
|
|
14
|
-
|
|
15
|
-
// Hot reload cookie expires in 3 seconds
|
|
16
|
-
date.setSeconds(date.getSeconds() + 3);
|
|
17
|
-
|
|
18
|
-
const sections = files.join(",");
|
|
19
|
-
const expires = date.toUTCString();
|
|
20
|
-
|
|
21
|
-
document.cookie = `hot_reload_files=${sections}; expires=${expires}; path=/`;
|
|
22
|
-
};
|
|
23
|
-
static refreshPage = (files) => {
|
|
24
|
-
HotReload.setHotReloadCookie(files);
|
|
25
|
-
console.log("[HotReload] Refreshing entire page");
|
|
26
|
-
window.location.reload();
|
|
27
|
-
};
|
|
28
|
-
static isCSSFile = (filename) => {
|
|
29
|
-
return filename.endsWith(".css");
|
|
30
|
-
};
|
|
31
|
-
static reloadCssFile = (filename) => {
|
|
32
|
-
// Find a stylesheet link starting with /assets (locally-served only) containing the filename
|
|
33
|
-
let links = document.querySelectorAll(
|
|
34
|
-
`link[href^="/assets"][href*="${filename}"][rel="stylesheet"]`
|
|
35
|
-
);
|
|
36
|
-
|
|
37
|
-
Array.from(links).forEach((link) => {
|
|
38
|
-
if (!link) {
|
|
39
|
-
console.log(
|
|
40
|
-
`[HotReload] Could not find link for stylesheet ${filename}`
|
|
41
|
-
);
|
|
42
|
-
} else {
|
|
43
|
-
link.href = new URL(link.href).pathname + `?v=${Date.now()}`;
|
|
44
|
-
console.log(`[HotReload] Reloaded stylesheet ${filename}`);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
class SSEClient {
|
|
2
|
-
constructor(eventsUrl, eventHandler) {
|
|
3
|
-
SSEClient.verifySSE();
|
|
4
|
-
this.eventsUrl = eventsUrl;
|
|
5
|
-
this.eventHandler = eventHandler;
|
|
6
|
-
}
|
|
7
|
-
static verifySSE() {
|
|
8
|
-
if (typeof EventSource === "undefined") {
|
|
9
|
-
console.error(
|
|
10
|
-
"[HotReload] Error: SSE features are not supported. Try a different browser."
|
|
11
|
-
);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
console.log("[HotReload] Initializing...");
|
|
15
|
-
}
|
|
16
|
-
connect() {
|
|
17
|
-
const eventSource = new EventSource(this.eventsUrl);
|
|
18
|
-
eventSource.onmessage = (msg) => {
|
|
19
|
-
this.handleMessage(msg);
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
eventSource.onopen = () => console.log("[HotReload] SSE connected.");
|
|
23
|
-
|
|
24
|
-
eventSource.onclose = () => {
|
|
25
|
-
console.log("[HotReload] SSE closed. Attempting to reconnect...");
|
|
26
|
-
|
|
27
|
-
setTimeout(this.connect, 5000);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
eventSource.onerror = () => {
|
|
31
|
-
console.log("[HotReload] SSE closed.");
|
|
32
|
-
eventSource.close();
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
handleMessage(message) {
|
|
36
|
-
const data = JSON.parse(message.data);
|
|
37
|
-
if (data.reload_page) {
|
|
38
|
-
HotReload.refreshPage([]);
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
this.eventHandler(data);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
(() => {
|
|
2
|
-
function sectionNamesByType(type) {
|
|
3
|
-
const namespace = window.__SHOPIFY_CLI_ENV__;
|
|
4
|
-
return namespace.section_names_by_type[type] || [];
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
function querySelectDOMSections(idSuffix) {
|
|
8
|
-
const elements = document.querySelectorAll(
|
|
9
|
-
`[id^='shopify-section'][id$='${idSuffix}']`
|
|
10
|
-
);
|
|
11
|
-
return Array.from(elements);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
function fetchDOMSections(name) {
|
|
15
|
-
const domSections = sectionNamesByType(name).flatMap((n) =>
|
|
16
|
-
querySelectDOMSections(n)
|
|
17
|
-
);
|
|
18
|
-
|
|
19
|
-
if (domSections.length > 0) {
|
|
20
|
-
return domSections;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return querySelectDOMSections(name);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function isRefreshRequired(files) {
|
|
27
|
-
if (HotReload.isFullPageReloadMode()) {
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
return files.some(
|
|
31
|
-
(file) => !HotReload.isCSSFile(file) && !isSectionFile(file)
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function refreshFile(file) {
|
|
36
|
-
if (HotReload.isCSSFile(file)) {
|
|
37
|
-
HotReload.reloadCssFile(file);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if (isSectionFile(file)) {
|
|
42
|
-
reloadSection(file);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function handleUpdate(data) {
|
|
47
|
-
const modifiedFiles = data.modified;
|
|
48
|
-
|
|
49
|
-
if (modifiedFiles === undefined) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if (isRefreshRequired(modifiedFiles)) {
|
|
54
|
-
HotReload.refreshPage(modifiedFiles);
|
|
55
|
-
} else {
|
|
56
|
-
modifiedFiles.forEach(refreshFile);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function isSectionFile(filename) {
|
|
61
|
-
return new Section(filename).valid();
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function reloadSection(filename) {
|
|
65
|
-
new Section(filename).refresh();
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
class Section {
|
|
69
|
-
constructor(filename) {
|
|
70
|
-
this.filename = filename;
|
|
71
|
-
this.name = filename.split("/").pop().replace(".liquid", "");
|
|
72
|
-
this.elements = fetchDOMSections(this.name);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
valid() {
|
|
76
|
-
return this.filename.startsWith("sections/") && this.elements.length > 0;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
async refreshElement(element) {
|
|
80
|
-
const sectionId = element.id.replace(/^shopify-section-/, "");
|
|
81
|
-
const url = new URL(window.location.href);
|
|
82
|
-
|
|
83
|
-
url.searchParams.append("section_id", sectionId);
|
|
84
|
-
|
|
85
|
-
const response = await fetch(url);
|
|
86
|
-
|
|
87
|
-
try {
|
|
88
|
-
if (response.headers.get("x-templates-from-params") === "1") {
|
|
89
|
-
element.outerHTML = await response.text();
|
|
90
|
-
} else {
|
|
91
|
-
window.location.reload();
|
|
92
|
-
|
|
93
|
-
console.log(
|
|
94
|
-
`[HotReload] Hot-reloading not supported, fully reloading ${this.name} section`
|
|
95
|
-
);
|
|
96
|
-
}
|
|
97
|
-
} catch (e) {
|
|
98
|
-
console.log(
|
|
99
|
-
`[HotReload] Failed to reload ${this.name} section: ${e.message}`
|
|
100
|
-
);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
async refresh() {
|
|
105
|
-
console.log(`[HotReload] Reloaded ${this.name} sections`);
|
|
106
|
-
this.elements.forEach(this.refreshElement);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
if (HotReload.isReloadModeActive()) {
|
|
111
|
-
let client = new SSEClient("/hot-reload", handleUpdate);
|
|
112
|
-
client.connect();
|
|
113
|
-
}
|
|
114
|
-
})();
|
package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload/resources/theme_extension.js
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
(() => {
|
|
2
|
-
const APP_BLOCK = "app-block",
|
|
3
|
-
APP_EMBED_BLOCK = "app-embed-block";
|
|
4
|
-
|
|
5
|
-
function querySelectHotReloadElements(handle) {
|
|
6
|
-
// Gets all blocks (app and embed) with specified handle TODO: add app ID check here
|
|
7
|
-
const blocks = Array.from(
|
|
8
|
-
document.querySelectorAll(`[data-block-handle$='${handle}']`)
|
|
9
|
-
);
|
|
10
|
-
if (blocks.length) {
|
|
11
|
-
const queryString = "shopify-section-";
|
|
12
|
-
const is_section = blocks[0].closest(`[id^=${queryString}]`) !== null;
|
|
13
|
-
if (is_section)
|
|
14
|
-
return [
|
|
15
|
-
blocks.map((block) => block.closest(`[id^=${queryString}]`)),
|
|
16
|
-
APP_BLOCK,
|
|
17
|
-
];
|
|
18
|
-
|
|
19
|
-
return [blocks, APP_EMBED_BLOCK];
|
|
20
|
-
}
|
|
21
|
-
return [[], null];
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function isRefreshRequired(files) {
|
|
25
|
-
if (HotReload.isFullPageReloadMode()) {
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
return files.some(
|
|
29
|
-
(file) => !HotReload.isCSSFile(file) && !isBlockFile(file)
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function refreshFile(file) {
|
|
34
|
-
if (HotReload.isCSSFile(file)) {
|
|
35
|
-
HotReload.reloadCssFile(file);
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
let block = new Block(file); // minimize DOM queries
|
|
40
|
-
if (block.valid()) return block.refresh();
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function refreshPage(files) {
|
|
44
|
-
HotReload.setHotReloadCookie(files);
|
|
45
|
-
console.log("[HotReload] Refreshing entire page");
|
|
46
|
-
window.location.reload();
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function handleUpdate(data) {
|
|
50
|
-
const modifiedFiles = data.modified;
|
|
51
|
-
|
|
52
|
-
if (modifiedFiles === undefined) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (isRefreshRequired(modifiedFiles)) {
|
|
57
|
-
refreshPage(modifiedFiles);
|
|
58
|
-
} else {
|
|
59
|
-
modifiedFiles.forEach(refreshFile);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function isBlockFile(filename) {
|
|
64
|
-
return new Block(filename).valid();
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
class Block {
|
|
68
|
-
constructor(filename) {
|
|
69
|
-
this.filename = filename;
|
|
70
|
-
this.name = filename.split("/").pop().replace(".liquid", "");
|
|
71
|
-
const [elements, type] = querySelectHotReloadElements(this.name);
|
|
72
|
-
this.elements = elements;
|
|
73
|
-
this.type = type;
|
|
74
|
-
|
|
75
|
-
this.refreshElement = this.refreshElement.bind(this);
|
|
76
|
-
this.refresh = this.refresh.bind(this);
|
|
77
|
-
this.valid = this.valid.bind(this);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
valid() {
|
|
81
|
-
return this.filename.startsWith("blocks/") && this.elements.length > 0;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
async refreshElement(element) {
|
|
85
|
-
const url = new URL(window.location.href);
|
|
86
|
-
let regex, key;
|
|
87
|
-
if (this.type === APP_BLOCK) {
|
|
88
|
-
regex = /^shopify-section-/;
|
|
89
|
-
key = "section_id";
|
|
90
|
-
} else {
|
|
91
|
-
regex = /^shopify-block-/;
|
|
92
|
-
key = "app_block_id";
|
|
93
|
-
}
|
|
94
|
-
const elementId = element.id.replace(regex, "");
|
|
95
|
-
|
|
96
|
-
url.searchParams.append(key, elementId);
|
|
97
|
-
|
|
98
|
-
HotReload.setHotReloadCookie([this.filename]);
|
|
99
|
-
|
|
100
|
-
const response = await fetch(url);
|
|
101
|
-
|
|
102
|
-
try {
|
|
103
|
-
element.outerHTML = await response.text();
|
|
104
|
-
} catch (e) {
|
|
105
|
-
console.log(
|
|
106
|
-
`[HotReload] Failed to reload ${this.name} ${this.type}: ${e.message}`
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
async refresh() {
|
|
112
|
-
console.log(`[HotReload] Reloaded ${this.name} ${this.type}s`);
|
|
113
|
-
this.elements.forEach(this.refreshElement);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
if (HotReload.isReloadModeActive()) {
|
|
118
|
-
let client = new SSEClient("/hot-reload", handleUpdate);
|
|
119
|
-
client.connect();
|
|
120
|
-
}
|
|
121
|
-
})();
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
require_relative "../hot_reload/sections_index"
|
|
3
|
-
|
|
4
|
-
module ShopifyCLI
|
|
5
|
-
module Theme
|
|
6
|
-
class DevServer
|
|
7
|
-
class HotReload
|
|
8
|
-
class ScriptInjector
|
|
9
|
-
def initialize(ctx, theme: nil)
|
|
10
|
-
@ctx = ctx
|
|
11
|
-
@theme = theme
|
|
12
|
-
@sections_index = HotReload::SectionsIndex.new(theme) unless theme.nil?
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def inject(body:, dir:, mode:)
|
|
16
|
-
@mode = mode
|
|
17
|
-
@dir = dir
|
|
18
|
-
hot_reload_script = [
|
|
19
|
-
read("hot-reload-no-script.html"),
|
|
20
|
-
"<script>",
|
|
21
|
-
"(() => {",
|
|
22
|
-
javascript_inline,
|
|
23
|
-
*javascript_files.map { |file| read(file) },
|
|
24
|
-
"})();",
|
|
25
|
-
"</script>",
|
|
26
|
-
].join("\n")
|
|
27
|
-
|
|
28
|
-
body = body.join.sub("</body>", "#{hot_reload_script}\n</body>")
|
|
29
|
-
|
|
30
|
-
[body]
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
private
|
|
34
|
-
|
|
35
|
-
def javascript_files
|
|
36
|
-
%w(hot_reload.js sse_client.js theme.js)
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def javascript_inline
|
|
40
|
-
env = { mode: @mode }
|
|
41
|
-
env[:section_names_by_type] = @sections_index.section_names_by_type
|
|
42
|
-
|
|
43
|
-
<<~JS
|
|
44
|
-
(() => {
|
|
45
|
-
window.__SHOPIFY_CLI_ENV__ = #{env.to_json};
|
|
46
|
-
})();
|
|
47
|
-
JS
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def read(filename)
|
|
51
|
-
::File.read("#{@dir}/hot_reload/resources/#{filename}")
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
end
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module ShopifyCLI
|
|
4
|
-
module Theme
|
|
5
|
-
class DevServer
|
|
6
|
-
class HotReload
|
|
7
|
-
class SectionsIndex
|
|
8
|
-
def initialize(theme)
|
|
9
|
-
@theme = theme
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def section_names_by_type
|
|
13
|
-
index = {}
|
|
14
|
-
|
|
15
|
-
files.each do |file|
|
|
16
|
-
section_hash(file).each do |key, value|
|
|
17
|
-
next unless key
|
|
18
|
-
next unless value.is_a?(Hash)
|
|
19
|
-
next unless (type = value&.dig("type"))
|
|
20
|
-
|
|
21
|
-
index[type] = [] unless index[type]
|
|
22
|
-
index[type] << key
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
index
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
private
|
|
30
|
-
|
|
31
|
-
def section_hash(file)
|
|
32
|
-
content = JSON.parse(file.read)
|
|
33
|
-
return [] unless content.is_a?(Hash)
|
|
34
|
-
|
|
35
|
-
sections = content["sections"]
|
|
36
|
-
return [] if sections.nil?
|
|
37
|
-
|
|
38
|
-
sections
|
|
39
|
-
rescue JSON::JSONError
|
|
40
|
-
[]
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def files
|
|
44
|
-
@theme.json_files.filter(&:template?)
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|