@shopify/shop-minis-cli 0.0.37 → 0.0.82
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/.eslintrc.cjs +78 -0
- package/.vscode/extensions.json +3 -0
- package/.vscode/launch.json +29 -0
- package/.vscode/settings.json +8 -0
- package/.vscode/shop-minis-cli.code-workspace +8 -0
- package/build/commands/cancel-submission/cancel-submission.d.ts +1 -0
- package/build/commands/cancel-submission/cancel-submission.js +57 -0
- package/build/commands/cancel-submission/cancel-submission.js.map +1 -0
- package/build/commands/cancel-submission/index.d.ts +2 -0
- package/build/commands/cancel-submission/index.js +18 -0
- package/build/commands/cancel-submission/index.js.map +1 -0
- package/build/commands/cancel-submission/types.d.ts +3 -0
- package/build/commands/cancel-submission/types.js +2 -0
- package/build/commands/cancel-submission/types.js.map +1 -0
- package/build/commands/check-submission/index.d.ts +2 -0
- package/build/commands/check-submission/index.js +55 -0
- package/build/commands/check-submission/index.js.map +1 -0
- package/build/commands/check-submission/types.d.ts +3 -0
- package/build/commands/check-submission/types.js +2 -0
- package/build/commands/check-submission/types.js.map +1 -0
- package/build/commands/codemod/index.d.ts +3 -0
- package/build/commands/codemod/index.js +47 -0
- package/build/commands/codemod/index.js.map +1 -0
- package/build/commands/codemod/releases/index.d.ts +7 -0
- package/build/commands/codemod/releases/index.js +58 -0
- package/build/commands/codemod/releases/index.js.map +1 -0
- package/build/commands/codemod/releases/types.d.ts +9 -0
- package/build/commands/codemod/releases/types.js +2 -0
- package/build/commands/codemod/releases/types.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-42/index.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-42/index.js +46 -0
- package/build/commands/codemod/releases/v0-0-42/index.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-42/reset-files.d.ts +7 -0
- package/build/commands/codemod/releases/v0-0-42/reset-files.js +83 -0
- package/build/commands/codemod/releases/v0-0-42/reset-files.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-43.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-43.js +32 -0
- package/build/commands/codemod/releases/v0-0-43.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-44.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-44.js +214 -0
- package/build/commands/codemod/releases/v0-0-44.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-45.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-45.js +23 -0
- package/build/commands/codemod/releases/v0-0-45.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-50.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-50.js +34 -0
- package/build/commands/codemod/releases/v0-0-50.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-54.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-54.js +70 -0
- package/build/commands/codemod/releases/v0-0-54.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-56.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-56.js +48 -0
- package/build/commands/codemod/releases/v0-0-56.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-57.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-57.js +41 -0
- package/build/commands/codemod/releases/v0-0-57.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-58.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-58.js +68 -0
- package/build/commands/codemod/releases/v0-0-58.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-61.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-61.js +30 -0
- package/build/commands/codemod/releases/v0-0-61.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-63.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-63.js +42 -0
- package/build/commands/codemod/releases/v0-0-63.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-64.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-64.js +47 -0
- package/build/commands/codemod/releases/v0-0-64.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-75.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-75.js +30 -0
- package/build/commands/codemod/releases/v0-0-75.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-76.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-76.js +32 -0
- package/build/commands/codemod/releases/v0-0-76.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-77.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-77.js +39 -0
- package/build/commands/codemod/releases/v0-0-77.js.map +1 -0
- package/build/commands/codemod/releases/v0-0-79.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-79.js +35 -0
- package/build/commands/codemod/releases/v0-0-79.js.map +1 -0
- package/build/commands/config.d.ts +14 -0
- package/build/commands/config.js +42 -0
- package/build/commands/config.js.map +1 -0
- package/build/commands/create-mini/index.js +84 -68
- package/build/commands/create-mini/index.js.map +1 -1
- package/build/commands/create-mini/utils/template-app.d.ts +1 -1
- package/build/commands/create-mini/utils/template-app.js +38 -38
- package/build/commands/create-mini/utils/template-app.js.map +1 -1
- package/build/commands/dev/index.d.ts +3 -0
- package/build/commands/dev/index.js +51 -22
- package/build/commands/dev/index.js.map +1 -1
- package/build/commands/dev/utils/android.d.ts +6 -4
- package/build/commands/dev/utils/android.js +55 -67
- package/build/commands/dev/utils/android.js.map +1 -1
- package/build/commands/dev/utils/binaries.d.ts +2 -80
- package/build/commands/dev/utils/binaries.js +10 -166
- package/build/commands/dev/utils/binaries.js.map +1 -1
- package/build/commands/dev/utils/build-type.d.ts +2 -0
- package/build/commands/dev/utils/build-type.js +14 -0
- package/build/commands/dev/utils/build-type.js.map +1 -0
- package/build/commands/dev/utils/deeplink.d.ts +3 -3
- package/build/commands/dev/utils/deeplink.js +13 -18
- package/build/commands/dev/utils/deeplink.js.map +1 -1
- package/build/commands/dev/utils/interactive-terminal.d.ts +4 -2
- package/build/commands/dev/utils/interactive-terminal.js +66 -107
- package/build/commands/dev/utils/interactive-terminal.js.map +1 -1
- package/build/commands/dev/utils/metro/metro-config.js +17 -20
- package/build/commands/dev/utils/metro/metro-config.js.map +1 -1
- package/build/commands/dev/utils/metro/metro-reporter.d.ts +3 -4
- package/build/commands/dev/utils/metro/metro-reporter.js +6 -13
- package/build/commands/dev/utils/metro/metro-reporter.js.map +1 -1
- package/build/commands/dev/utils/metro/metro-server-middleware.d.ts +1 -0
- package/build/commands/dev/utils/metro/metro-server-middleware.js +11 -12
- package/build/commands/dev/utils/metro/metro-server-middleware.js.map +1 -1
- package/build/commands/dev/utils/metro/metro-server.d.ts +2 -2
- package/build/commands/dev/utils/metro/metro-server.js +7 -14
- package/build/commands/dev/utils/metro/metro-server.js.map +1 -1
- package/build/commands/dev/utils/network.d.ts +20 -0
- package/build/commands/dev/utils/network.js +122 -0
- package/build/commands/dev/utils/network.js.map +1 -0
- package/build/commands/dev/utils/platform.d.ts +18 -0
- package/build/commands/dev/utils/platform.js +41 -0
- package/build/commands/dev/utils/platform.js.map +1 -0
- package/build/commands/dev/utils/prompt-binary-upgrade.d.ts +1 -0
- package/build/commands/dev/utils/prompt-binary-upgrade.js +12 -0
- package/build/commands/dev/utils/prompt-binary-upgrade.js.map +1 -0
- package/build/commands/dev/utils/qr-code.js +3 -10
- package/build/commands/dev/utils/qr-code.js.map +1 -1
- package/build/commands/dev/utils/simulator.d.ts +5 -2
- package/build/commands/dev/utils/simulator.js +43 -37
- package/build/commands/dev/utils/simulator.js.map +1 -1
- package/build/commands/dev/utils/start-app/config.d.ts +5 -0
- package/build/commands/dev/utils/start-app/config.js +25 -0
- package/build/commands/dev/utils/start-app/config.js.map +1 -0
- package/build/commands/dev/utils/start-app/start-app-with-options.d.ts +2 -0
- package/build/commands/dev/utils/start-app/start-app-with-options.js +94 -0
- package/build/commands/dev/utils/start-app/start-app-with-options.js.map +1 -0
- package/build/commands/dev/utils/start-app/start-app.d.ts +2 -0
- package/build/commands/dev/utils/start-app/start-app.js +10 -0
- package/build/commands/dev/utils/start-app/start-app.js.map +1 -0
- package/build/commands/dev/utils/start-app/types.d.ts +20 -0
- package/build/commands/dev/utils/start-app/types.js +2 -0
- package/build/commands/dev/utils/start-app/types.js.map +1 -0
- package/build/commands/dev/utils/types.d.ts +24 -0
- package/build/commands/dev/utils/types.js +7 -0
- package/build/commands/dev/utils/types.js.map +1 -0
- package/build/commands/dev/utils/version.d.ts +64 -0
- package/build/commands/dev/utils/version.js +101 -0
- package/build/commands/dev/utils/version.js.map +1 -0
- package/build/commands/dev/utils/with-retries.js +1 -5
- package/build/commands/dev/utils/with-retries.js.map +1 -1
- package/build/commands/doctor/index.d.ts +6 -0
- package/build/commands/doctor/index.js +21 -0
- package/build/commands/doctor/index.js.map +1 -0
- package/build/commands/doctor/utils/diagnose-dependencies.d.ts +7 -0
- package/build/commands/doctor/utils/diagnose-dependencies.js +108 -0
- package/build/commands/doctor/utils/diagnose-dependencies.js.map +1 -0
- package/build/commands/generate-graphql-types/index.d.ts +1 -0
- package/build/commands/generate-graphql-types/index.js +43 -27
- package/build/commands/generate-graphql-types/index.js.map +1 -1
- package/build/commands/info/index.d.ts +3 -0
- package/build/commands/info/index.js +42 -0
- package/build/commands/info/index.js.map +1 -0
- package/build/commands/setup/index.d.ts +2 -0
- package/build/commands/setup/index.js +81 -0
- package/build/commands/setup/index.js.map +1 -0
- package/build/commands/submit/config.d.ts +9 -0
- package/build/commands/submit/config.js +18 -0
- package/build/commands/submit/config.js.map +1 -0
- package/build/commands/submit/errors.d.ts +19 -0
- package/build/commands/submit/errors.js +87 -0
- package/build/commands/submit/errors.js.map +1 -0
- package/build/commands/submit/gcs.d.ts +6 -0
- package/build/commands/submit/gcs.js +10 -0
- package/build/commands/submit/gcs.js.map +1 -0
- package/build/commands/submit/index.d.ts +2 -0
- package/build/commands/submit/index.js +25 -0
- package/build/commands/submit/index.js.map +1 -0
- package/build/commands/submit/submit.d.ts +5 -0
- package/build/commands/submit/submit.js +222 -0
- package/build/commands/submit/submit.js.map +1 -0
- package/build/commands/submit/tasks.d.ts +37 -0
- package/build/commands/submit/tasks.js +91 -0
- package/build/commands/submit/tasks.js.map +1 -0
- package/build/commands/submit/types.d.ts +14 -0
- package/build/commands/submit/types.js +2 -0
- package/build/commands/submit/types.js.map +1 -0
- package/build/commands/submit/utils/assert-core-dependencies-version.d.ts +1 -0
- package/build/commands/submit/utils/assert-core-dependencies-version.js +58 -0
- package/build/commands/submit/utils/assert-core-dependencies-version.js.map +1 -0
- package/build/commands/submit/utils/request-entry-point-params.d.ts +1 -0
- package/build/commands/submit/utils/request-entry-point-params.js +41 -0
- package/build/commands/submit/utils/request-entry-point-params.js.map +1 -0
- package/build/commands/submit/validation.d.ts +1 -0
- package/build/commands/submit/validation.js +11 -0
- package/build/commands/submit/validation.js.map +1 -0
- package/build/commands/upgrade/index.d.ts +13 -0
- package/build/commands/upgrade/index.js +53 -0
- package/build/commands/upgrade/index.js.map +1 -0
- package/build/commands/upgrade/utils/cli.d.ts +1 -0
- package/build/commands/upgrade/utils/cli.js +15 -0
- package/build/commands/upgrade/utils/cli.js.map +1 -0
- package/build/commands/validate-manifest/index.d.ts +3 -0
- package/build/commands/validate-manifest/index.js +29 -0
- package/build/commands/validate-manifest/index.js.map +1 -0
- package/build/data/accept-invitation.d.ts +4 -0
- package/build/data/accept-invitation.js +16 -0
- package/build/data/accept-invitation.js.map +1 -0
- package/build/data/cancel-submission.d.ts +22 -0
- package/build/data/cancel-submission.js +26 -0
- package/build/data/cancel-submission.js.map +1 -0
- package/build/data/create-submission.d.ts +20 -0
- package/build/data/create-submission.js +27 -0
- package/build/data/create-submission.js.map +1 -0
- package/build/data/create-upload.d.ts +21 -0
- package/build/data/create-upload.js +40 -0
- package/build/data/create-upload.js.map +1 -0
- package/build/data/get-submissions.d.ts +27 -0
- package/build/data/get-submissions.js +33 -0
- package/build/data/get-submissions.js.map +1 -0
- package/build/data/gql-client.d.ts +8 -0
- package/build/data/gql-client.js +9 -0
- package/build/data/gql-client.js.map +1 -0
- package/build/data/mini.d.ts +5 -0
- package/build/data/mini.js +14 -0
- package/build/data/mini.js.map +1 -0
- package/build/data/types/autogenerated/shop-minis-admin-api/fragment-masking.d.ts +13 -0
- package/build/data/types/autogenerated/shop-minis-admin-api/fragment-masking.js +7 -0
- package/build/data/types/autogenerated/shop-minis-admin-api/fragment-masking.js.map +1 -0
- package/build/data/types/autogenerated/shop-minis-admin-api/gql.d.ts +75 -0
- package/build/data/types/autogenerated/shop-minis-admin-api/gql.js +24 -0
- package/build/data/types/autogenerated/shop-minis-admin-api/gql.js.map +1 -0
- package/build/data/types/autogenerated/shop-minis-admin-api/graphql.d.ts +1570 -0
- package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js +1062 -0
- package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js.map +1 -0
- package/build/data/types/autogenerated/shop-minis-admin-api/index.d.ts +2 -0
- package/build/data/types/autogenerated/shop-minis-admin-api/index.js +3 -0
- package/build/data/types/autogenerated/shop-minis-admin-api/index.js.map +1 -0
- package/build/dev-panel/asset-manifest.json +6 -9
- package/build/dev-panel/index.html +1 -1
- package/build/dev-panel/static/css/{main.31436fe3.css → main.7f1ee407.css} +2 -2
- package/build/dev-panel/static/css/main.7f1ee407.css.map +1 -0
- package/build/dev-panel/static/js/{main.27f47095.js → main.6625699c.js} +3 -3
- package/build/dev-panel/static/js/main.6625699c.js.map +1 -0
- package/build/index.d.ts +1 -1
- package/build/index.js +30 -15
- package/build/index.js.map +1 -1
- package/build/schemas/manifest.schema.json +198 -0
- package/build/utils/archive.d.ts +30 -0
- package/build/utils/archive.js +38 -0
- package/build/utils/archive.js.map +1 -0
- package/build/utils/common-tasks.d.ts +1 -0
- package/build/utils/common-tasks.js +49 -0
- package/build/utils/common-tasks.js.map +1 -0
- package/build/utils/development-params.d.ts +13 -0
- package/build/utils/development-params.js +42 -0
- package/build/utils/development-params.js.map +1 -0
- package/build/{commands/utils → utils}/exec-async-child-process.d.ts +1 -1
- package/build/{commands/utils → utils}/exec-async-child-process.js +6 -13
- package/build/utils/exec-async-child-process.js.map +1 -0
- package/build/utils/file.d.ts +1 -0
- package/build/utils/file.js +7 -0
- package/build/utils/file.js.map +1 -0
- package/build/utils/minis-manifest.d.ts +6 -0
- package/build/utils/minis-manifest.js +56 -0
- package/build/utils/minis-manifest.js.map +1 -0
- package/build/utils/package-manager.d.ts +38 -0
- package/build/utils/package-manager.js +98 -0
- package/build/utils/package-manager.js.map +1 -0
- package/build/utils/patch-package.d.ts +5 -0
- package/build/utils/patch-package.js +76 -0
- package/build/utils/patch-package.js.map +1 -0
- package/build/utils/replace-strings-in-template.d.ts +1 -0
- package/build/utils/replace-strings-in-template.js +15 -0
- package/build/utils/replace-strings-in-template.js.map +1 -0
- package/build/utils/semver.d.ts +1 -0
- package/build/utils/semver.js +19 -0
- package/build/utils/semver.js.map +1 -0
- package/build/{commands/utils → utils}/wrap-with-loading-indicator.d.ts +1 -1
- package/build/utils/wrap-with-loading-indicator.js +16 -0
- package/build/utils/wrap-with-loading-indicator.js.map +1 -0
- package/package.json +35 -28
- package/scripts/graphql-codegen.ts +23 -0
- package/scripts/test-template.ts +63 -0
- package/shipit.alpha.yml +3 -0
- package/templates/__template_blank/src/index.tsx +5 -4
- package/templates/__template_blank/src/types.ts +1 -1
- package/templates/__template_common/.eslintrc.js +16 -0
- package/templates/__template_common/assets.d.ts +14 -0
- package/templates/__template_common/babel.config.js +3 -17
- package/templates/__template_common/gitignore +2 -0
- package/templates/__template_common/index.tsx +3 -6
- package/templates/__template_common/metro.config.js +4 -30
- package/templates/__template_common/package.json +17 -47
- package/templates/__template_common/src/manifest.json +1 -27
- package/templates/__template_hello_world/src/components/ComponentLink.ts +31 -19
- package/templates/__template_hello_world/src/components/ComponentListItem.tsx +1 -0
- package/templates/__template_hello_world/src/components/FeaturedComponents.tsx +4 -2
- package/templates/__template_hello_world/src/components/quiz/ImageCarouselSlide.tsx +54 -0
- package/templates/__template_hello_world/src/components/quiz/MultipleChoiceSlide.tsx +77 -0
- package/templates/__template_hello_world/src/components/quiz/QuizProvider.tsx +64 -0
- package/templates/__template_hello_world/src/components/quiz/QuizSlide.tsx +79 -0
- package/templates/__template_hello_world/src/components/quiz/QuizSlideCommander.tsx +35 -0
- package/templates/__template_hello_world/src/components/quiz/TextFieldSlide.tsx +84 -0
- package/templates/__template_hello_world/src/components/quiz/TextSlide.tsx +6 -0
- package/templates/__template_hello_world/src/components/quiz/types.ts +72 -0
- package/templates/__template_hello_world/src/data/Test.graphql.d.ts +69 -76
- package/templates/__template_hello_world/src/data/TestProducts.graphql +30 -0
- package/templates/__template_hello_world/src/data/TestProducts.graphql.d.ts +159 -81
- package/templates/__template_hello_world/src/fixtures/mocked-products-with-variants.ts +274 -0
- package/templates/__template_hello_world/src/hooks/useQuizData.ts +26 -0
- package/templates/__template_hello_world/src/hooks/useQuizState.ts +27 -0
- package/templates/__template_hello_world/src/index.tsx +6 -5
- package/templates/__template_hello_world/src/routes.tsx +46 -22
- package/templates/__template_hello_world/src/screens/AccordionScreen.tsx +73 -0
- package/templates/__template_hello_world/src/screens/BottomSheetScreen.tsx +6 -5
- package/templates/__template_hello_world/src/screens/HomeScreen.tsx +14 -3
- package/templates/__template_hello_world/src/screens/{ImageCarouselScreen.tsx → ImageMultipleChoiceScreen.tsx} +4 -6
- package/templates/__template_hello_world/src/screens/InputScreen.tsx +13 -70
- package/templates/__template_hello_world/src/screens/QuizResultScreen.tsx +82 -0
- package/templates/__template_hello_world/src/screens/QuizScreen.tsx +40 -0
- package/templates/__template_hello_world/src/screens/QuizSlideScreen.tsx +150 -0
- package/templates/__template_hello_world/src/screens/ShopActionsScreen.tsx +48 -0
- package/templates/__template_hello_world/src/screens/VariantPickerScreen.tsx +120 -0
- package/templates/__template_hello_world/src/types.ts +27 -24
- package/templates/__template_hello_world/src/utils/mockQuizData.ts +330 -0
- package/templates/__template_hello_world/src/utils/quizUtils.ts +75 -0
- package/templates/__template_snowboardz/src/components/SkillLevelIcon.tsx +1 -4
- package/templates/__template_snowboardz/src/components/SkillLevelPicker.tsx +7 -1
- package/templates/__template_snowboardz/src/data/TestProducts.graphql +1 -1
- package/templates/__template_snowboardz/src/data/TestProducts.graphql.d.ts +84 -74
- package/templates/__template_snowboardz/src/index.tsx +6 -5
- package/templates/__template_snowboardz/src/routes.tsx +2 -2
- package/templates/__template_snowboardz/src/types.ts +3 -3
- package/build/commands/check/index.d.ts +0 -5
- package/build/commands/check/index.js +0 -77
- package/build/commands/check/index.js.map +0 -1
- package/build/commands/check/utils/versions.d.ts +0 -1
- package/build/commands/check/utils/versions.js +0 -14
- package/build/commands/check/utils/versions.js.map +0 -1
- package/build/commands/dev/utils/binaries.test.d.ts +0 -1
- package/build/commands/dev/utils/binaries.test.js +0 -275
- package/build/commands/dev/utils/binaries.test.js.map +0 -1
- package/build/commands/dev/utils/minis-manifest.d.ts +0 -1
- package/build/commands/dev/utils/minis-manifest.js +0 -24
- package/build/commands/dev/utils/minis-manifest.js.map +0 -1
- package/build/commands/utils/exec-async-child-process.js.map +0 -1
- package/build/commands/utils/wrap-with-loading-indicator.js +0 -23
- package/build/commands/utils/wrap-with-loading-indicator.js.map +0 -1
- package/build/dev-panel/middleware.d.ts +0 -4
- package/build/dev-panel/middleware.js +0 -11
- package/build/dev-panel/middleware.js.map +0 -1
- package/build/dev-panel/static/css/main.31436fe3.css.map +0 -1
- package/build/dev-panel/static/js/main.27f47095.js.map +0 -1
- package/build/dev-panel/static/media/bottomsheet.fe525b8722f6d504a185.png +0 -0
- package/build/dev-panel/static/media/navigation.597434370a97c328a970.png +0 -0
- package/build/dev-panel/static/media/stories.a425b6972a5338fabdad.png +0 -0
- package/templates/__template_blank/src/custom.d.ts +0 -4
- package/templates/__template_common/.eslintrc.json +0 -132
- package/templates/__template_common/patches/react-native+0.68.5.patch +0 -173
- package/templates/__template_hello_world/src/utils/getFlagEmoji.spec.tsx +0 -19
- /package/build/dev-panel/static/js/{main.27f47095.js.LICENSE.txt → main.6625699c.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import os from 'os';
|
|
4
|
+
import { mkdtemp } from 'node:fs/promises';
|
|
5
|
+
import _ from 'lodash';
|
|
6
|
+
import { getPackageManager as _getPackageManager } from '@shopify/cli-kit/node/node-package-manager';
|
|
7
|
+
import { formatPackageManagerCommand, outputDebug, } from '@shopify/cli-kit/node/output';
|
|
8
|
+
import { execAsync } from './exec-async-child-process.js';
|
|
9
|
+
export const getPackageManager = _.memoize(async () => {
|
|
10
|
+
const packageManager = await _getPackageManager(process.cwd());
|
|
11
|
+
outputDebug(`Preferred package manager has been detected as: ${packageManager}`);
|
|
12
|
+
return packageManager;
|
|
13
|
+
});
|
|
14
|
+
/**
|
|
15
|
+
* Install a package + update package.json and locks
|
|
16
|
+
*/
|
|
17
|
+
export const getUpgradePackageCommand = async (packageName, { version = 'latest', exact } = {}) => {
|
|
18
|
+
const packageManager = await getPackageManager();
|
|
19
|
+
return packageManager === 'yarn'
|
|
20
|
+
? `yarn add ${packageName}@${version} ${exact ? '--exact' : ''}`.trim()
|
|
21
|
+
: // `--save` will save to the existing section of package.json
|
|
22
|
+
// `--legacy-peer-deps` gets us around react 16/17/18 peer dep conflicts that do not matter
|
|
23
|
+
`npm install ${packageName}@${version} --legacy-peer-deps ${exact ? '--save-exact' : '--save'}`;
|
|
24
|
+
};
|
|
25
|
+
export const execUpgradePackageCommand = async (packageName, { version = 'latest', exact } = {}) => {
|
|
26
|
+
const upgradeCommand = await getUpgradePackageCommand(packageName, {
|
|
27
|
+
version,
|
|
28
|
+
exact,
|
|
29
|
+
});
|
|
30
|
+
await execAsync({
|
|
31
|
+
cmd: upgradeCommand,
|
|
32
|
+
loadingMessage: `Upgrading ${packageName}...`,
|
|
33
|
+
successMessage: `${packageName} upgraded`,
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Install the latest versions that are compatible with the range in package.json
|
|
38
|
+
* Yarn will upgrade in this range if it can and npm will stick with an existing compatible version
|
|
39
|
+
*/
|
|
40
|
+
export const getInstallCommand = async () => {
|
|
41
|
+
const packageManager = await getPackageManager();
|
|
42
|
+
return packageManager === 'yarn'
|
|
43
|
+
? `yarn install`
|
|
44
|
+
: // `--legacy-peer-deps` gets us around react 16/17/18 peer dep conflicts that do not matter
|
|
45
|
+
`npm install --legacy-peer-deps`;
|
|
46
|
+
};
|
|
47
|
+
export const execInstallCommand = async () => {
|
|
48
|
+
const installCommand = await getInstallCommand();
|
|
49
|
+
await execAsync({
|
|
50
|
+
cmd: installCommand,
|
|
51
|
+
loadingMessage: 'Installing dependencies...',
|
|
52
|
+
successMessage: 'Dependencies installed',
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Get a package.json script command formatted according to the detected package manager
|
|
57
|
+
*/
|
|
58
|
+
export const getRunScriptCommand = async (scriptName, scriptArgs = []) => {
|
|
59
|
+
return formatPackageManagerCommand(await getPackageManager(), scriptName, ...scriptArgs);
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Get a dependency bin command formatted according to the detected package manager
|
|
63
|
+
*/
|
|
64
|
+
export const getRunBinCommand = async (scriptName, scriptArgs = []) => {
|
|
65
|
+
const packageManager = await getPackageManager();
|
|
66
|
+
return `${packageManager === 'yarn' ? 'yarn' : 'npx'} ${scriptName} ${scriptArgs.join(' ')}`.trimEnd();
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Get a package.json script or a dependency bin command formatted according to the detected package manager
|
|
70
|
+
*/
|
|
71
|
+
export const getPackageLatestVersionCommand = async (packageName) => {
|
|
72
|
+
const packageManager = await getPackageManager();
|
|
73
|
+
return packageManager === 'yarn'
|
|
74
|
+
? `yarn info ${packageName} version --silent`
|
|
75
|
+
: `npm show ${packageName} version`;
|
|
76
|
+
};
|
|
77
|
+
export const hardResetDependencies = async () => {
|
|
78
|
+
const installCommand = await getInstallCommand(); // get install command before deleting lockfiles, since lockfiles are used to detect package manager
|
|
79
|
+
await execAsync('rm -rf yarn.lock package-lock.json');
|
|
80
|
+
// doing `rm -rf node_modules proved to be very slow
|
|
81
|
+
// we move it to a tmp folder instead, so that we can reinstall dependencies while we delete the directory in parallel
|
|
82
|
+
const tmpDir = await mkdtemp(path.join(os.tmpdir(), 'minis_dependencies'));
|
|
83
|
+
await execAsync(`mv node_modules ${tmpDir}`);
|
|
84
|
+
return Promise.all([execAsync(`rm -rf ${tmpDir}`), execAsync(installCommand)]);
|
|
85
|
+
};
|
|
86
|
+
export const getPackageVersion = async (packageName) => {
|
|
87
|
+
const packageJsonPath = path.join(process.cwd(), 'node_modules', ...packageName.split('/'), 'package.json');
|
|
88
|
+
let packageJson = {};
|
|
89
|
+
try {
|
|
90
|
+
const packageJsonString = fs.readFileSync(packageJsonPath).toString('utf-8');
|
|
91
|
+
packageJson = JSON.parse(packageJsonString);
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
// do nothing. we will return 'not found' instead of crashing
|
|
95
|
+
}
|
|
96
|
+
return packageJson.version || 'not found';
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=package-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/utils/package-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { outputDebug } from '@shopify/cli-kit/node/output';
|
|
4
|
+
import fs from 'fs-extra';
|
|
5
|
+
const { applyPatch: patchPackageApplyPatch } = createRequire(import.meta.url)('patch-package/dist/applyPatches');
|
|
6
|
+
const { getPackageDetailsFromPatchFilename } = createRequire(import.meta.url)('patch-package/dist/PackageDetails');
|
|
7
|
+
// We use an empty file to know if a patch was already applied or not. i.e.
|
|
8
|
+
// if node_modules/react-native/.patched-by-minis-cli exists, we assume that a patch was already applied
|
|
9
|
+
// if node_modules/react-native/.patched-by-minis-cli does not exist, we assume that a patch is not applied yet
|
|
10
|
+
const PATCHED_MARK_FILE = '.patched-by-minis-cli';
|
|
11
|
+
const nodeModulesPath = path.join(process.cwd(), 'node_modules');
|
|
12
|
+
const patchesDirectoryPath = path.join(nodeModulesPath, '@shopify', 'shop-minis-runtime', 'patches');
|
|
13
|
+
function getPatchFiles() {
|
|
14
|
+
try {
|
|
15
|
+
return fs.readdirSync(patchesDirectoryPath);
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
// older versions of shop-minis-runtime (< 0.0.5) do not have the patches folder.
|
|
19
|
+
outputDebug('Patches folder does not exist. Please update @shopify/shop-minis-runtime to ^0.0.5');
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Applies patches to Minis dependencies (only if they have not been applied yet)
|
|
25
|
+
* @returns a list with the names of the patches that were applied
|
|
26
|
+
*/
|
|
27
|
+
export function maybeApplyPatches() {
|
|
28
|
+
const appliedPatches = [];
|
|
29
|
+
outputDebug('Applying dependency patches...');
|
|
30
|
+
const patches = getPatchFiles();
|
|
31
|
+
for (const patch of patches) {
|
|
32
|
+
if (isPatchApplied(patch)) {
|
|
33
|
+
outputDebug(`${patch} is already applied`);
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
outputDebug(`Applying patch ${patch}`);
|
|
37
|
+
const applied = applyPatch(patch);
|
|
38
|
+
if (applied) {
|
|
39
|
+
markPatchAsApplied(patch);
|
|
40
|
+
outputDebug(`Patch ${patch} applied`);
|
|
41
|
+
appliedPatches.push(patch);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
outputDebug(`Failed to apply patch ${patch}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return appliedPatches;
|
|
48
|
+
}
|
|
49
|
+
function isPatchApplied(patch) {
|
|
50
|
+
const dependencyName = getDependencyNameForPatch(patch);
|
|
51
|
+
return fs.existsSync(path.join(nodeModulesPath, dependencyName, PATCHED_MARK_FILE));
|
|
52
|
+
}
|
|
53
|
+
function applyPatch(patch) {
|
|
54
|
+
const patchFilePath = path.join(patchesDirectoryPath, patch);
|
|
55
|
+
return patchPackageApplyPatch({
|
|
56
|
+
patchFilePath,
|
|
57
|
+
reverse: false,
|
|
58
|
+
patchDir: patchesDirectoryPath,
|
|
59
|
+
packageDetails: getPackageDetailsFromPatchFilename(patch),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function markPatchAsApplied(patch) {
|
|
63
|
+
const dependencyName = getDependencyNameForPatch(patch);
|
|
64
|
+
fs.createFileSync(path.join(nodeModulesPath, dependencyName, PATCHED_MARK_FILE));
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Given a patch file name, returns the name of the actual dependency that's being patched.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* getDependencyNameForPatch('react-native+0.68.5.patch')
|
|
71
|
+
* // returns 'react-native'
|
|
72
|
+
*/
|
|
73
|
+
function getDependencyNameForPatch(patch) {
|
|
74
|
+
return patch.split('+')[0];
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=patch-package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch-package.js","sourceRoot":"","sources":["../../src/utils/patch-package.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function replaceStringsInTemplate(dir: string, stringsToReplace: Record<string, string>): Promise<void>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import replaceInFile from 'replace-in-file';
|
|
2
|
+
export async function replaceStringsInTemplate(dir, stringsToReplace) {
|
|
3
|
+
for (const [replaceKey, replaceValue] of Object.entries(stringsToReplace)) {
|
|
4
|
+
const replaceOptions = {
|
|
5
|
+
files: [`${dir}/**/*.*`],
|
|
6
|
+
from: new RegExp(replaceKey, 'g'),
|
|
7
|
+
to: replaceValue,
|
|
8
|
+
optionsForFiles: {
|
|
9
|
+
ignore: ['**/node_modules/**'],
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
await replaceInFile.replaceInFile(replaceOptions);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=replace-strings-in-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replace-strings-in-template.js","sourceRoot":"","sources":["../../src/utils/replace-strings-in-template.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAAW,EACX,gBAAwC;IAExC,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACzE,MAAM,cAAc,GAAG;YACrB,KAAK,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC;YACxB,IAAI,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;YACjC,EAAE,EAAE,YAAY;YAChB,eAAe,EAAE;gBACf,MAAM,EAAE,CAAC,oBAAoB,CAAC;aAC/B;SACF,CAAA;QAED,MAAM,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;KAClD;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function validateUpgradeBetweenVersions(fromVersion: string, toVersion: string): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { lte, coerce as coerceVersionToSemver } from 'semver';
|
|
2
|
+
import { AbortError } from '@shopify/cli-kit/node/error';
|
|
3
|
+
export function validateUpgradeBetweenVersions(fromVersion, toVersion) {
|
|
4
|
+
const fromVersionSemver = coerceVersionToSemver(fromVersion);
|
|
5
|
+
const toVersionSemver = coerceVersionToSemver(toVersion);
|
|
6
|
+
if (!fromVersionSemver || !toVersionSemver) {
|
|
7
|
+
const versionWithError = fromVersionSemver ? toVersion : fromVersion;
|
|
8
|
+
throw new AbortError('The provided version is not a valid semver string', undefined, [
|
|
9
|
+
[
|
|
10
|
+
`The specified value was "${versionWithError}"`,
|
|
11
|
+
`Read more about semantic versioning in https://semver.org/`,
|
|
12
|
+
],
|
|
13
|
+
]);
|
|
14
|
+
}
|
|
15
|
+
if (lte(toVersionSemver, fromVersionSemver)) {
|
|
16
|
+
throw new AbortError('The provided target version must be bigger than the base version', undefined, [[`Target version is "${toVersion}"`, `Base version is "${fromVersion}"`]]);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=semver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semver.js","sourceRoot":"","sources":["../../src/utils/semver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,MAAM,IAAI,qBAAqB,EAAC,MAAM,QAAQ,CAAA;AAC3D,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAA;AAEtD,MAAM,UAAU,8BAA8B,CAC5C,WAAmB,EACnB,SAAiB;IAEjB,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAA;IAC5D,MAAM,eAAe,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAA;IAExD,IAAI,CAAC,iBAAiB,IAAI,CAAC,eAAe,EAAE;QAC1C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAA;QACpE,MAAM,IAAI,UAAU,CAClB,mDAAmD,EACnD,SAAS,EACT;YACE;gBACE,4BAA4B,gBAAgB,GAAG;gBAC/C,4DAA4D;aAC7D;SACF,CACF,CAAA;KACF;IAED,IAAI,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,EAAE;QAC3C,MAAM,IAAI,UAAU,CAClB,kEAAkE,EAClE,SAAS,EACT,CAAC,CAAC,sBAAsB,SAAS,GAAG,EAAE,oBAAoB,WAAW,GAAG,CAAC,CAAC,CAC3E,CAAA;KACF;AACH,CAAC"}
|
|
@@ -5,5 +5,5 @@ interface LoadingOptions {
|
|
|
5
5
|
errorMessage?: string;
|
|
6
6
|
spinnerOptions?: Omit<OraOptions, 'text' | 'prefixText'>;
|
|
7
7
|
}
|
|
8
|
-
export declare function wrapWithLoadingIndicator<T>(promise: Promise<T
|
|
8
|
+
export declare function wrapWithLoadingIndicator<T>(promise: Promise<T>, { loadingMessage, errorMessage, successMessage, spinnerOptions }: LoadingOptions): Promise<T>;
|
|
9
9
|
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import ora from 'ora';
|
|
2
|
+
export async function wrapWithLoadingIndicator(promise, { loadingMessage, errorMessage, successMessage, spinnerOptions }) {
|
|
3
|
+
const loadingIndicator = ora(spinnerOptions);
|
|
4
|
+
loadingIndicator.start(loadingMessage);
|
|
5
|
+
try {
|
|
6
|
+
const result = await promise;
|
|
7
|
+
loadingIndicator.succeed(successMessage);
|
|
8
|
+
return result;
|
|
9
|
+
}
|
|
10
|
+
catch (err) {
|
|
11
|
+
loadingIndicator.fail(errorMessage);
|
|
12
|
+
console.log('\n');
|
|
13
|
+
throw err;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=wrap-with-loading-indicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrap-with-loading-indicator.js","sourceRoot":"","sources":["../../src/utils/wrap-with-loading-indicator.ts"],"names":[],"mappings":"AAAA,OAAO,GAA4B,MAAM,KAAK,CAAA;AAS9C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAmB,EACnB,EAAC,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAiB;IAE9E,MAAM,gBAAgB,GAAG,GAAG,CAAC,cAAc,CAAC,CAAA;IAC5C,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAEtC,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAA;QAC5B,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACxC,OAAO,MAAM,CAAA;KACd;IAAC,OAAO,GAAG,EAAE;QACZ,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjB,MAAM,GAAG,CAAA;KACV;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public",
|
|
5
5
|
"@shopify:registry": "https://registry.npmjs.org/"
|
|
6
6
|
},
|
|
7
|
-
"version": "0.0.
|
|
7
|
+
"version": "0.0.82",
|
|
8
8
|
"description": "Shop Minis CLI",
|
|
9
9
|
"main": "build/index.js",
|
|
10
10
|
"bin": {
|
|
@@ -12,77 +12,84 @@
|
|
|
12
12
|
},
|
|
13
13
|
"author": "shopify",
|
|
14
14
|
"license": "MIT",
|
|
15
|
+
"type": "module",
|
|
15
16
|
"scripts": {
|
|
16
|
-
"build": "yarn clean && yarn build:cli && yarn build:cli
|
|
17
|
+
"build": "yarn clean && yarn build:cli:graphql && yarn build:cli && yarn dev-panel:build-and-copy",
|
|
17
18
|
"clean": "rm -rf build",
|
|
18
|
-
"build:cli": "tsc -
|
|
19
|
-
"build:cli:watch": "chokidar \"./src/**/*.ts\" -c \"yarn run build:cli\" --silent --initial --ignore '(build|
|
|
20
|
-
"build:cli:
|
|
19
|
+
"build:cli": "tsc -p tsconfig.build.json && chmod 755 build/index.js",
|
|
20
|
+
"build:cli:watch": "chokidar \"./src/**/*.ts\" -c \"yarn run build:cli\" --silent --initial --ignore '(build|node_modules)'",
|
|
21
|
+
"build:cli:graphql": "node --loader ts-node/esm scripts/graphql-codegen.ts",
|
|
21
22
|
"lint": "eslint . --ext .js,.mjs,.ts,.tsx --format codeframe --cache",
|
|
22
|
-
"shop-minis-dev": "ts-node -T src/index.ts",
|
|
23
23
|
"shop-minis": "./build/index.js",
|
|
24
|
-
"test": "
|
|
25
|
-
"
|
|
26
|
-
"dev-panel:
|
|
27
|
-
"dev-panel:
|
|
28
|
-
"dev-panel:
|
|
29
|
-
"dev-panel:build
|
|
24
|
+
"test": "vitest",
|
|
25
|
+
"test:template": "node --loader ts-node/esm scripts/test-template.ts",
|
|
26
|
+
"dev-panel:install": "cd ./dev-panel && yarn",
|
|
27
|
+
"dev-panel:start": "cd ./dev-panel && yarn start",
|
|
28
|
+
"dev-panel:clean": "cd ./dev-panel && rm -rf build",
|
|
29
|
+
"dev-panel:build": "cd ./dev-panel && PUBLIC_URL=/dev-panel yarn build",
|
|
30
|
+
"dev-panel:build-and-copy": "mkdir -p build/dev-panel/ && yarn dev-panel:clean && yarn dev-panel:install && yarn dev-panel:build && cp -r dev-panel/build/* build/dev-panel"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
|
-
"@
|
|
33
|
-
"@
|
|
34
|
-
"@babel/preset-typescript": "^7.18.6",
|
|
33
|
+
"@graphql-codegen/cli": "^3.2.2",
|
|
34
|
+
"@graphql-codegen/client-preset": "^2.1.1",
|
|
35
35
|
"@react-native-community/eslint-config": "^3.1.0",
|
|
36
36
|
"@shopify/eslint-plugin": "^42.0.1",
|
|
37
37
|
"@types/connect": "^3.4.35",
|
|
38
|
+
"@types/envinfo": "^7.8.1",
|
|
38
39
|
"@types/fs-extra": "^9.0.13",
|
|
39
40
|
"@types/inquirer": "^9.0.3",
|
|
40
|
-
"@types/jest": "^29.2.6",
|
|
41
41
|
"@types/lodash": "^4.14.191",
|
|
42
|
-
"@types/metro": "^0.66.1",
|
|
43
42
|
"@types/node": "^18.11.17",
|
|
44
43
|
"@types/prompts": "^2.4.2",
|
|
45
44
|
"@types/qrcode": "^1.5.0",
|
|
46
45
|
"@types/serve-static": "^1.15.0",
|
|
47
46
|
"@typescript-eslint/eslint-plugin": "^5.17.0",
|
|
48
47
|
"@typescript-eslint/parser": "^5.17.0",
|
|
49
|
-
"babel-jest": "^29.3.1",
|
|
50
48
|
"chokidar-cli": "^3.0.0",
|
|
51
49
|
"eslint": "^8.24.0",
|
|
52
50
|
"eslint-formatter-codeframe": "^7.32.1",
|
|
53
|
-
"eslint-plugin-jest": "^26.2.2",
|
|
54
51
|
"eslint-plugin-reanimated": "^2.0.0",
|
|
55
|
-
"jest": "^29.3.1",
|
|
56
52
|
"prettier": "^2.7.1",
|
|
57
53
|
"ts-node": "^10.9.1",
|
|
58
|
-
"typescript": "^4.9.4"
|
|
54
|
+
"typescript": "^4.9.4",
|
|
55
|
+
"vitest": "^0.29.8"
|
|
59
56
|
},
|
|
60
57
|
"dependencies": {
|
|
61
58
|
"@google-cloud/storage": "^6.9.0",
|
|
62
|
-
"@
|
|
63
|
-
"@react-native-community/cli
|
|
59
|
+
"@inquirer/editor": "^1.2.4",
|
|
60
|
+
"@react-native-community/cli": "^11.3.6",
|
|
61
|
+
"@react-native-community/cli-plugin-metro": "^11.3.6",
|
|
62
|
+
"@shopify/cli-kit": "^3.45.0",
|
|
64
63
|
"@types/qrcode-terminal": "^0.12.0",
|
|
64
|
+
"archiver": "^5.3.1",
|
|
65
65
|
"chalk": "^4.1.2",
|
|
66
66
|
"commander": "^9.4.1",
|
|
67
67
|
"connect": "^3.7.0",
|
|
68
68
|
"dotenv": "^16.0.3",
|
|
69
|
+
"envinfo": "^7.8.1",
|
|
70
|
+
"escape-string-regexp": "^4.0.0",
|
|
69
71
|
"fs-extra": "^11.1.0",
|
|
72
|
+
"glob": "^9.3.2",
|
|
70
73
|
"graphql": "^15.0.0",
|
|
71
74
|
"graphql-config": "^4.3.5",
|
|
72
|
-
"graphql-
|
|
75
|
+
"graphql-request": "^5.2.0",
|
|
76
|
+
"graphql-typescript-definitions": "^3.3.3",
|
|
73
77
|
"inquirer": "^8.2.3",
|
|
74
78
|
"internal-ip": "^6.2.0",
|
|
79
|
+
"jsonschema": "^1.4.1",
|
|
75
80
|
"lodash": "^4.17.21",
|
|
76
|
-
"metro": "^0.
|
|
77
|
-
"metro-config": "^0.
|
|
78
|
-
"metro-core": "^0.
|
|
81
|
+
"metro": "^0.76.7",
|
|
82
|
+
"metro-config": "^0.76.7",
|
|
83
|
+
"metro-core": "^0.76.7",
|
|
79
84
|
"open": "^8.4.0",
|
|
80
85
|
"ora": "^5.4.1",
|
|
86
|
+
"patch-package": "6.5.1",
|
|
81
87
|
"prompts": "^2.4.2",
|
|
82
88
|
"qrcode-terminal": "^0.12.0",
|
|
83
89
|
"replace-in-file": "^6.3.5",
|
|
84
90
|
"semver": "^7.3.8",
|
|
85
|
-
"serve-static": "^1.15.0"
|
|
91
|
+
"serve-static": "^1.15.0",
|
|
92
|
+
"suppress-experimental-warnings": "^1.1.17"
|
|
86
93
|
},
|
|
87
94
|
"resolutions": {
|
|
88
95
|
"@apollo/federation": "0.38.1"
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {CodegenConfig, generate} from '@graphql-codegen/cli'
|
|
2
|
+
|
|
3
|
+
import {SHOP_MINIS_ADMIN_API} from '../src/commands/config.js'
|
|
4
|
+
|
|
5
|
+
const config: CodegenConfig = {
|
|
6
|
+
schema: SHOP_MINIS_ADMIN_API,
|
|
7
|
+
documents: ['src/**/*.ts'],
|
|
8
|
+
generates: {
|
|
9
|
+
'src/data/types/autogenerated/shop-minis-admin-api/': {
|
|
10
|
+
preset: 'client-preset',
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
hooks: {afterAllFileWrite: ['prettier --write']},
|
|
14
|
+
|
|
15
|
+
// Make sure the output is valid esm
|
|
16
|
+
emitLegacyCommonJSImports: false,
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
async function generateTypes() {
|
|
20
|
+
await generate(config, true)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
generateTypes()
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import {execSync} from 'node:child_process'
|
|
2
|
+
|
|
3
|
+
import {Command} from 'commander'
|
|
4
|
+
|
|
5
|
+
const TEMPLATES = ['snowboardz', 'hello_world', 'blank']
|
|
6
|
+
|
|
7
|
+
const program = new Command()
|
|
8
|
+
.name('test-template')
|
|
9
|
+
.description('Instanciates a template and checks that it is valid')
|
|
10
|
+
.argument(
|
|
11
|
+
'<template name>',
|
|
12
|
+
'Name of the template to use (blank, hello_world, snowboardz)'
|
|
13
|
+
)
|
|
14
|
+
.action(async (templateName: string) => {
|
|
15
|
+
if (!TEMPLATES.includes(templateName)) {
|
|
16
|
+
console.log(
|
|
17
|
+
`\n${templateName} is not a valid template name. Please use one of ${TEMPLATES.join(
|
|
18
|
+
', '
|
|
19
|
+
)}\n`
|
|
20
|
+
)
|
|
21
|
+
process.exit(1)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// build the CLI
|
|
25
|
+
execSync('yarn build:cli', {stdio: 'inherit'})
|
|
26
|
+
|
|
27
|
+
// set up folder structure
|
|
28
|
+
execSync('mkdir -p ../templates/', {stdio: 'inherit'})
|
|
29
|
+
execSync('rm -rf ../templates/test-template', {stdio: 'inherit'}) // just in case this wasn't deleted before
|
|
30
|
+
|
|
31
|
+
// build mini
|
|
32
|
+
execSync(
|
|
33
|
+
`yarn shop-minis create test-template --template ${templateName} --output-dir ../templates/`,
|
|
34
|
+
{stdio: 'inherit'}
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
// run eslint
|
|
38
|
+
try {
|
|
39
|
+
execSync('cd ../templates/test-template && yarn lint', {stdio: 'inherit'})
|
|
40
|
+
} catch {
|
|
41
|
+
console.log(`\n ⚠️ eslint failed. To reproduce run:
|
|
42
|
+
$ cd ../templates/test-template
|
|
43
|
+
$ yarn lint
|
|
44
|
+
`)
|
|
45
|
+
process.exit(1)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// run typescript checks
|
|
49
|
+
try {
|
|
50
|
+
execSync('cd ../templates/test-template && yarn tsc', {stdio: 'inherit'})
|
|
51
|
+
} catch {
|
|
52
|
+
console.log(`\n ⚠️ typescript failed. To reproduce run:
|
|
53
|
+
$ cd ../templates/test-template
|
|
54
|
+
$ yarn tsc
|
|
55
|
+
`)
|
|
56
|
+
process.exit(1)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// clean up
|
|
60
|
+
execSync('rm -rf ../templates/test-template', {stdio: 'inherit'})
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
program.parse()
|
package/shipit.alpha.yml
ADDED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {MiniAppConfig} from '@shopify/shop-minis-platform-sdk'
|
|
2
2
|
|
|
3
3
|
import {HomeScreen} from './screens/HomeScreen'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const config: MiniAppConfig = {
|
|
6
|
+
name: '__MINI_APP_NAME__',
|
|
7
|
+
Root: HomeScreen,
|
|
7
8
|
}
|
|
8
9
|
|
|
9
|
-
export default
|
|
10
|
+
export default config
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @react-navigation/native-stack requires a `type` instead of an `interface`
|
|
2
2
|
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
|
|
3
3
|
export type StackParamList = {
|
|
4
|
-
'
|
|
4
|
+
'__MINI_APP_NAME_PASCAL_CASE__.Home': undefined
|
|
5
5
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
root: true,
|
|
3
|
+
extends: ['plugin:@shopify/shop-minis/all'],
|
|
4
|
+
settings: {
|
|
5
|
+
react: {
|
|
6
|
+
version: 'detect',
|
|
7
|
+
},
|
|
8
|
+
},
|
|
9
|
+
parserOptions: {
|
|
10
|
+
ecmaVersion: 6,
|
|
11
|
+
project: './tsconfig.json',
|
|
12
|
+
schema:
|
|
13
|
+
'node_modules/@shopify/shop-minis-platform-sdk/src/api/minis.graphql',
|
|
14
|
+
operations: '**/*.graphql',
|
|
15
|
+
},
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare module '*.svg' {
|
|
2
|
+
const content: import('react').FC<import('react-native-svg').SvgProps>
|
|
3
|
+
export default content
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
declare module '*.png' {
|
|
7
|
+
const content: import('react-native').ImageRequireSource
|
|
8
|
+
export default content
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
declare module '*.jpg' {
|
|
12
|
+
const content: import('react-native').ImageRequireSource
|
|
13
|
+
export default content
|
|
14
|
+
}
|
|
@@ -1,19 +1,5 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
{useTransformReactJSXExperimental: true},
|
|
6
|
-
],
|
|
7
|
-
],
|
|
8
|
-
plugins: [
|
|
9
|
-
[
|
|
10
|
-
'@babel/plugin-transform-react-jsx',
|
|
11
|
-
{
|
|
12
|
-
runtime: 'automatic',
|
|
13
|
-
},
|
|
14
|
-
],
|
|
15
|
-
['@babel/plugin-transform-named-capturing-groups-regex'],
|
|
16
|
-
['import-graphql'],
|
|
17
|
-
['react-native-reanimated/plugin'],
|
|
18
|
-
],
|
|
2
|
+
// Changes to babel config are not supported by the mini platform.
|
|
3
|
+
// Custom configuration can introduce unexpected behaviour in your mini and could be a cause of rejection during the submission process.
|
|
4
|
+
presets: ['@shopify/shop-minis-runtime/babel-preset'],
|
|
19
5
|
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
// Note: This file is only used for the development mode. Changes made here will not be
|
|
2
2
|
// reflected in published/production mode mini apps
|
|
3
|
-
import 'intl'
|
|
4
|
-
import 'intl/locale-data/jsonp/en'
|
|
5
3
|
import {AppRegistry} from 'react-native'
|
|
6
|
-
import '
|
|
4
|
+
import '@shopify/shop-minis-platform-sdk/src/utils/registerNativeModules'
|
|
7
5
|
import {useNativeEventEmitterShopActions} from '@shopify/shop-minis-platform-sdk'
|
|
8
6
|
import {Wrapper} from '@shopify/shop-minis-platform-sdk/src/components/Wrapper'
|
|
9
7
|
import {ShopActionsProvider} from '@shopify/shop-minis-platform-sdk/actions'
|
|
10
8
|
|
|
11
|
-
import
|
|
9
|
+
import MiniApp from './src'
|
|
12
10
|
|
|
13
11
|
AppRegistry.registerComponent(
|
|
14
12
|
'ShopMinis',
|
|
@@ -28,14 +26,13 @@ AppRegistry.registerComponent(
|
|
|
28
26
|
<Wrapper
|
|
29
27
|
initialApiKeys={initialApiKeys}
|
|
30
28
|
apiHeaders={apiHeaders}
|
|
31
|
-
theme={theme}
|
|
32
29
|
params={params}
|
|
33
30
|
entryPoint={entryPoint}
|
|
34
31
|
entryPointParams={entryPointParams}
|
|
35
32
|
environment={environment}
|
|
36
33
|
enableApiSandbox
|
|
37
34
|
>
|
|
38
|
-
<
|
|
35
|
+
<MiniApp.Root />
|
|
39
36
|
</Wrapper>
|
|
40
37
|
</ShopActionsProvider>
|
|
41
38
|
)
|