@shopify/shop-minis-cli 0.0.161 → 0.0.163

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.
Files changed (96) hide show
  1. package/build/commands/app/link.js +0 -2
  2. package/build/commands/app/link.js.map +1 -1
  3. package/build/commands/codemod/releases/index.js +2 -0
  4. package/build/commands/codemod/releases/index.js.map +1 -1
  5. package/build/commands/codemod/releases/v0-0-163.d.ts +3 -0
  6. package/build/commands/codemod/releases/v0-0-163.js +26 -0
  7. package/build/commands/codemod/releases/v0-0-163.js.map +1 -0
  8. package/build/commands/create-mini/standalone/examples/with-camera-access/.eslintignore +1 -0
  9. package/build/commands/create-mini/standalone/examples/with-camera-access/.eslintrc.js +3 -0
  10. package/build/commands/create-mini/standalone/examples/with-camera-access/.graphqlrc.js +1 -0
  11. package/build/commands/create-mini/standalone/examples/with-camera-access/.prettierrc.json +8 -0
  12. package/build/commands/create-mini/standalone/examples/with-camera-access/README.md +30 -0
  13. package/build/commands/create-mini/standalone/examples/with-camera-access/assets.d.ts +14 -0
  14. package/build/commands/create-mini/standalone/examples/with-camera-access/babel.config.js +5 -0
  15. package/build/commands/create-mini/standalone/examples/with-camera-access/index.tsx +5 -0
  16. package/build/commands/create-mini/standalone/examples/with-camera-access/metro.config.js +3 -0
  17. package/build/commands/create-mini/standalone/examples/with-camera-access/package.json +33 -0
  18. package/build/commands/create-mini/standalone/examples/with-camera-access/src/App.tsx +152 -0
  19. package/build/commands/create-mini/standalone/examples/with-camera-access/src/index.tsx +9 -0
  20. package/build/commands/create-mini/standalone/examples/with-camera-access/src/manifest.json +5 -0
  21. package/build/commands/create-mini/standalone/examples/with-camera-access/tsconfig.json +41 -0
  22. package/build/commands/create-mini/standalone/examples/with-fal-ai/.eslintignore +1 -0
  23. package/build/commands/create-mini/standalone/examples/with-fal-ai/.eslintrc.js +3 -0
  24. package/build/commands/create-mini/standalone/examples/with-fal-ai/.graphqlrc.js +1 -0
  25. package/build/commands/create-mini/standalone/examples/with-fal-ai/.prettierrc.json +8 -0
  26. package/build/commands/create-mini/standalone/examples/with-fal-ai/README.md +46 -0
  27. package/build/commands/create-mini/standalone/examples/with-fal-ai/assets.d.ts +14 -0
  28. package/build/commands/create-mini/standalone/examples/with-fal-ai/babel.config.js +5 -0
  29. package/build/commands/create-mini/standalone/examples/with-fal-ai/index.tsx +5 -0
  30. package/build/commands/create-mini/standalone/examples/with-fal-ai/metro.config.js +3 -0
  31. package/build/commands/create-mini/standalone/examples/with-fal-ai/package.json +33 -0
  32. package/build/commands/create-mini/standalone/examples/with-fal-ai/src/App.tsx +5 -0
  33. package/build/commands/create-mini/standalone/examples/with-fal-ai/src/index.tsx +9 -0
  34. package/build/commands/create-mini/standalone/examples/with-fal-ai/src/manifest.json +21 -0
  35. package/build/commands/create-mini/standalone/examples/with-fal-ai/src/screens/HomeScreen.tsx +142 -0
  36. package/build/commands/create-mini/standalone/examples/with-fal-ai/tsconfig.json +41 -0
  37. package/build/commands/create-mini/standalone/examples/with-getting-started/README.md +18 -0
  38. package/build/commands/create-mini/standalone/examples/with-getting-started/package.json +3 -3
  39. package/build/commands/create-mini/standalone/examples/with-getting-started/src/manifest.json +0 -2
  40. package/build/commands/create-mini/standalone/examples/with-search/.eslintignore +1 -0
  41. package/build/commands/create-mini/standalone/examples/with-search/.eslintrc.js +3 -0
  42. package/build/commands/create-mini/standalone/examples/with-search/.graphqlrc.js +1 -0
  43. package/build/commands/create-mini/standalone/examples/with-search/.prettierrc.json +8 -0
  44. package/build/commands/create-mini/standalone/examples/with-search/README.md +25 -0
  45. package/build/commands/create-mini/standalone/examples/with-search/assets.d.ts +14 -0
  46. package/build/commands/create-mini/standalone/examples/with-search/babel.config.js +5 -0
  47. package/build/commands/create-mini/standalone/examples/with-search/index.tsx +5 -0
  48. package/build/commands/create-mini/standalone/examples/with-search/metro.config.js +3 -0
  49. package/build/commands/create-mini/standalone/examples/with-search/package.json +33 -0
  50. package/build/commands/create-mini/standalone/examples/with-search/src/App.tsx +23 -0
  51. package/build/commands/create-mini/standalone/examples/with-search/src/components/HeaderAction.tsx +32 -0
  52. package/build/commands/create-mini/standalone/examples/with-search/src/components/ShopCard.tsx +92 -0
  53. package/build/commands/create-mini/standalone/examples/with-search/src/index.tsx +9 -0
  54. package/build/commands/create-mini/standalone/examples/with-search/src/manifest.json +7 -0
  55. package/build/commands/create-mini/standalone/examples/with-search/src/screens/MerchantSearchScreen.tsx +126 -0
  56. package/build/commands/create-mini/standalone/examples/with-search/src/screens/ProductSearchScreen.tsx +115 -0
  57. package/build/commands/create-mini/standalone/examples/with-search/src/types/screens.ts +6 -0
  58. package/build/commands/create-mini/standalone/examples/with-search/tsconfig.json +41 -0
  59. package/build/commands/create-mini/standalone/examples/with-user-data/.eslintignore +1 -0
  60. package/build/commands/create-mini/standalone/examples/with-user-data/.eslintrc.js +3 -0
  61. package/build/commands/create-mini/standalone/examples/with-user-data/.graphqlrc.js +1 -0
  62. package/build/commands/create-mini/standalone/examples/with-user-data/.prettierrc.json +8 -0
  63. package/build/commands/create-mini/standalone/examples/with-user-data/README.md +26 -0
  64. package/build/commands/create-mini/standalone/examples/with-user-data/assets.d.ts +14 -0
  65. package/build/commands/create-mini/standalone/examples/with-user-data/babel.config.js +5 -0
  66. package/build/commands/create-mini/standalone/examples/with-user-data/index.tsx +5 -0
  67. package/build/commands/create-mini/standalone/examples/with-user-data/metro.config.js +3 -0
  68. package/build/commands/create-mini/standalone/examples/with-user-data/package.json +33 -0
  69. package/build/commands/create-mini/standalone/examples/with-user-data/src/App.tsx +5 -0
  70. package/build/commands/create-mini/standalone/examples/with-user-data/src/components/ProductSection.tsx +39 -0
  71. package/build/commands/create-mini/standalone/examples/with-user-data/src/components/SectionStyles.ts +9 -0
  72. package/build/commands/create-mini/standalone/examples/with-user-data/src/components/ShopCard.tsx +42 -0
  73. package/build/commands/create-mini/standalone/examples/with-user-data/src/components/ShopSection.tsx +40 -0
  74. package/build/commands/create-mini/standalone/examples/with-user-data/src/index.tsx +9 -0
  75. package/build/commands/create-mini/standalone/examples/with-user-data/src/manifest.json +10 -0
  76. package/build/commands/create-mini/standalone/examples/with-user-data/src/screens/HomeScreen.tsx +67 -0
  77. package/build/commands/create-mini/standalone/examples/with-user-data/tsconfig.json +41 -0
  78. package/build/commands/create-mini/standalone/index.js +11 -4
  79. package/build/commands/create-mini/standalone/index.js.map +1 -1
  80. package/build/commands/create-mini/utils/examples.d.ts +3 -3
  81. package/build/commands/create-mini/utils/examples.js +15 -7
  82. package/build/commands/create-mini/utils/examples.js.map +1 -1
  83. package/build/commands/create-mini/utils/index.js.map +1 -1
  84. package/build/commands/dev/utils/start-app/start-app-with-options.js +1 -5
  85. package/build/commands/dev/utils/start-app/start-app-with-options.js.map +1 -1
  86. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.d.ts +1 -1
  87. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js +1 -1
  88. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js.map +1 -1
  89. package/build/schemas/manifest.schema.json +0 -17
  90. package/build/utils/package-manager.d.ts +7 -0
  91. package/build/utils/package-manager.js +15 -0
  92. package/build/utils/package-manager.js.map +1 -1
  93. package/build/utils/sync-manifest.js +0 -10
  94. package/build/utils/sync-manifest.js.map +1 -1
  95. package/package.json +1 -1
  96. package/scripts/test-create-mini-standalone.ts +24 -7
@@ -3,7 +3,6 @@ import { renderError, renderSelectPrompt, renderSuccess, } from '@shopify/cli-ki
3
3
  import { handler as handleError } from '@shopify/cli-kit/node/error';
4
4
  import { fetchAllOrgs, fetchAppsForOrg, token, } from '../../data/partners/query.js';
5
5
  import { miniLinkApp } from '../../data/mini-link-app.js';
6
- import { syncManifest } from '../../utils/sync-manifest.js';
7
6
  import { assertNetworkAndAuth } from '../../utils/common-tasks.js';
8
7
  export const command = new Command()
9
8
  .name('link')
@@ -45,7 +44,6 @@ export const command = new Command()
45
44
  });
46
45
  }
47
46
  if (mini) {
48
- syncManifest(mini);
49
47
  renderSuccess({
50
48
  headline: 'App linked',
51
49
  body: [
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/commands/app/link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,aAAa,GACd,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,6BAA6B,CAAA;AAElE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,KAAK,GACN,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAA;AAEhE,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KACjC,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,WAAW,EAAE,yBAAyB,CAAC;KAC9C,MAAM,CAAC,KAAK,EAAE,EAAC,OAAO,EAAC,EAAE,EAAE;IAC1B,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAA;IAEpC,MAAM,KAAK,GAAG,CAAC,MAAM,kBAAkB,CAAS;QAC9C,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,KAAK,EAAE,GAAG,CAAC,YAAY;YACvB,KAAK,EAAE,GAAG,CAAC,EAAE;SACd,CAAC,CAAC;KACJ,CAAC,CAAW,CAAA;IAEb,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAA;IAEzC,MAAM,KAAK,GAAG,CAAC,MAAM,kBAAkB,CAAS;QAC9C,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,KAAK,EAAE,GAAG,CAAC,EAAE;SACd,CAAC,CAAC;KACJ,CAAC,CAAW,CAAA;IAEb,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;IAE3D,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;KAC3C;IAED,IAAI;QACF,MAAM,oBAAoB,EAAE,CAAA;QAC5B,kCAAkC;QAClC,MAAM,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,MAAM,WAAW,CAAC;YAC3C,SAAS,EAAE,WAAW,CAAC,MAAM;YAC7B,mBAAmB,EAAE,MAAM,KAAK,EAAE;YAClC,OAAO;SACR,CAAC,CAAA;QAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,WAAW,CAAC;gBACV,QAAQ,EAAE,mBAAmB;gBAC7B,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;aAC7C,CAAC,CAAA;SACH;QAED,IAAI,IAAI,EAAE;YACR,YAAY,CAAC,IAAI,CAAC,CAAA;YAClB,aAAa,CAAC;gBACZ,QAAQ,EAAE,YAAY;gBACtB,IAAI,EAAE;oBACJ,aAAa;oBACb;wBACE,IAAI,EAAE,WAAW,CAAC,KAAK;qBACxB;oBACD,oCAAoC;iBACrC;aACF,CAAC,CAAA;SACH;KACF;IAAC,OAAO,KAAK,EAAE;QACd,WAAW,CAAC,KAAK,CAAC,CAAA;KACnB;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/commands/app/link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,aAAa,GACd,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,6BAA6B,CAAA;AAElE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,KAAK,GACN,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAA;AAEhE,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KACjC,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,WAAW,EAAE,yBAAyB,CAAC;KAC9C,MAAM,CAAC,KAAK,EAAE,EAAC,OAAO,EAAC,EAAE,EAAE;IAC1B,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAA;IAEpC,MAAM,KAAK,GAAG,CAAC,MAAM,kBAAkB,CAAS;QAC9C,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B,KAAK,EAAE,GAAG,CAAC,YAAY;YACvB,KAAK,EAAE,GAAG,CAAC,EAAE;SACd,CAAC,CAAC;KACJ,CAAC,CAAW,CAAA;IAEb,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAA;IAEzC,MAAM,KAAK,GAAG,CAAC,MAAM,kBAAkB,CAAS;QAC9C,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,KAAK,EAAE,GAAG,CAAC,EAAE;SACd,CAAC,CAAC;KACJ,CAAC,CAAW,CAAA;IAEb,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;IAE3D,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;KAC3C;IAED,IAAI;QACF,MAAM,oBAAoB,EAAE,CAAA;QAC5B,kCAAkC;QAClC,MAAM,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,MAAM,WAAW,CAAC;YAC3C,SAAS,EAAE,WAAW,CAAC,MAAM;YAC7B,mBAAmB,EAAE,MAAM,KAAK,EAAE;YAClC,OAAO;SACR,CAAC,CAAA;QAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,WAAW,CAAC;gBACV,QAAQ,EAAE,mBAAmB;gBAC7B,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;aAC7C,CAAC,CAAA;SACH;QAED,IAAI,IAAI,EAAE;YACR,aAAa,CAAC;gBACZ,QAAQ,EAAE,YAAY;gBACtB,IAAI,EAAE;oBACJ,aAAa;oBACb;wBACE,IAAI,EAAE,WAAW,CAAC,KAAK;qBACxB;oBACD,oCAAoC;iBACrC;aACF,CAAC,CAAA;SACH;KACF;IAAC,OAAO,KAAK,EAAE;QACd,WAAW,CAAC,KAAK,CAAC,CAAA;KACnB;AACH,CAAC,CAAC,CAAA"}
@@ -35,6 +35,7 @@ import v0x0x123Upgrade from './v0-0-123.js';
35
35
  import v0x0x125Upgrade from './v0-0-125.js';
36
36
  import v0x0x130Upgrade from './v0-0-130.js';
37
37
  import v0x0x139Upgrade from './v0-0-139.js';
38
+ import v0x0x163Upgrade from './v0-0-163.js';
38
39
  const upgrades = [
39
40
  v0x0x42Upgrade,
40
41
  v0x0x43Upgrade,
@@ -70,6 +71,7 @@ const upgrades = [
70
71
  v0x0x125Upgrade,
71
72
  v0x0x130Upgrade,
72
73
  v0x0x139Upgrade,
74
+ v0x0x163Upgrade,
73
75
  ];
74
76
  // the list of upgrades must be sorted by version. just making sure of it
75
77
  upgrades.sort(({ version: upgradeVersion1 }, { version: upgradeVersion2 }) => semverGreaterThan(upgradeVersion1, upgradeVersion2) ? 1 : -1);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,26 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ /**
5
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.162...v0.0.163
6
+ */
7
+ async function applyUpgrade() {
8
+ const manifestJsonPath = path.join(process.cwd(), 'src', 'manifest.json');
9
+ const manifestJsonString = await readFile(manifestJsonPath, {
10
+ encoding: 'utf-8',
11
+ });
12
+ const manifestJson = JSON.parse(manifestJsonString);
13
+ delete manifestJson.shopify_apps;
14
+ await writeFile(manifestJsonPath, `${JSON.stringify(manifestJson, null, 2)}\n`, // keep the new line at the end of the file
15
+ {
16
+ encoding: 'utf-8',
17
+ });
18
+ }
19
+ const releaseNotes = ['Deprecate shopify_apps manifest field'];
20
+ const exports = {
21
+ releaseNotes,
22
+ applyUpgrade,
23
+ version: new SemVer('0.0.163'),
24
+ };
25
+ export default exports;
26
+ //# sourceMappingURL=v0-0-163.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-163.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-163.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAI7B;;GAEG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;IACzE,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;QAC1D,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAA;IACF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAEnD,OAAO,YAAY,CAAC,YAAY,CAAA;IAEhC,MAAM,SAAS,CACb,gBAAgB,EAChB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,2CAA2C;IACzF;QACE,QAAQ,EAAE,OAAO;KAClB,CACF,CAAA;AACH,CAAC;AAED,MAAM,YAAY,GAAa,CAAC,uCAAuC,CAAC,CAAA;AAExE,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;CAC/B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,3 @@
1
+ const {minisEslintConfig} = require('@shopify/shop-minis-sdk/eslint-config')
2
+
3
+ module.exports = minisEslintConfig
@@ -0,0 +1 @@
1
+ module.exports = require('@shopify/shop-minis-sdk/graphqlrc')
@@ -0,0 +1,8 @@
1
+ {
2
+ "semi": false,
3
+ "singleQuote": true,
4
+ "trailingComma": "es5",
5
+ "arrowParens": "avoid",
6
+ "bracketSpacing": false,
7
+ "printWidth": 80
8
+ }
@@ -0,0 +1,30 @@
1
+ # Camera Access Mini
2
+
3
+ A Shop Mini that demonstrates device camera access, photo gallery selection, and photo sharing capabilities.
4
+
5
+ ## Features
6
+
7
+ - Access device camera to take photos
8
+ - Access photo gallery to select existing photos
9
+ - Display selected/captured photos
10
+ - Share photos using the device's native share sheet
11
+ - Built with React Native components and styling
12
+
13
+ ## Setup
14
+
15
+ 1. Run the development server:
16
+ ```bash
17
+ npm start
18
+ ```
19
+
20
+ ## Development
21
+
22
+ This mini is built using:
23
+
24
+ - React Native
25
+ - TypeScript
26
+ - Shop Minis SDK
27
+ - react-native-image-crop-picker - for camera and gallery access
28
+ - react-native-share - for native share sheet functionality
29
+
30
+ Note: Camera access requires running the app on a physical device.
@@ -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
+ }
@@ -0,0 +1,5 @@
1
+ module.exports = {
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-sdk/babel-preset'],
5
+ }
@@ -0,0 +1,5 @@
1
+ import {renderDevelopmentMini} from '@shopify/shop-minis-sdk/src/renderDevelopmentMini'
2
+
3
+ import MiniApp from './src'
4
+
5
+ renderDevelopmentMini(MiniApp)
@@ -0,0 +1,3 @@
1
+ const {getMinisMetroConfig} = require('@shopify/shop-minis-sdk/metro-config')
2
+
3
+ module.exports = getMinisMetroConfig(__dirname)
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "with-camera-access",
3
+ "version": "0.0.1",
4
+ "private": true,
5
+ "scripts": {
6
+ "start": "shop-minis dev",
7
+ "test": "jest",
8
+ "lint": "eslint ."
9
+ },
10
+ "dependencies": {
11
+ "@shopify/shop-minis-sdk": "0.0.16"
12
+ },
13
+ "devDependencies": {
14
+ "@shopify/shop-minis-cli": "0.0.161",
15
+ "@types/jest": "^29.2.6",
16
+ "babel-jest": "^26.6.3",
17
+ "eslint": "^8.32.0",
18
+ "jest": "^29.3.1",
19
+ "prettier": "^2.8.2"
20
+ },
21
+ "jest": {
22
+ "preset": "react-native"
23
+ },
24
+ "overrides": {
25
+ "graphql": "15.8.0",
26
+ "react": "18.2.0",
27
+ "react-native": "0.73.2"
28
+ },
29
+ "resolutions": {
30
+ "@apollo/federation": "0.38.1",
31
+ "graphql": "15.8.0"
32
+ }
33
+ }
@@ -0,0 +1,152 @@
1
+ import {useState} from 'react'
2
+ import {View, Text, TouchableOpacity, StyleSheet} from 'react-native'
3
+ import {
4
+ SafeAreaView,
5
+ ImageBox,
6
+ useErrorToast,
7
+ useImagePicker,
8
+ useShare,
9
+ } from '@shopify/shop-minis-sdk'
10
+
11
+ function Button({
12
+ text,
13
+ onPress,
14
+ variant = 'primary',
15
+ disabled,
16
+ style,
17
+ }: {
18
+ text: string
19
+ onPress: () => void
20
+ variant?: 'primary' | 'secondary'
21
+ disabled?: boolean
22
+ style?: object
23
+ }) {
24
+ return (
25
+ <TouchableOpacity
26
+ disabled={disabled}
27
+ style={[
28
+ styles.button,
29
+ variant === 'primary' ? styles.primaryButton : styles.secondaryButton,
30
+ disabled && {opacity: 0.5},
31
+ style,
32
+ ]}
33
+ onPress={onPress}
34
+ >
35
+ <Text
36
+ style={[
37
+ styles.buttonText,
38
+ {color: variant === 'primary' ? '#FFFFFF' : '#000000'},
39
+ ]}
40
+ >
41
+ {text}
42
+ </Text>
43
+ </TouchableOpacity>
44
+ )
45
+ }
46
+
47
+ export function App() {
48
+ const [imageUrl, setImageUrl] = useState<string>()
49
+ const {showErrorToast} = useErrorToast()
50
+ const {openCamera, openPicker} = useImagePicker()
51
+ const {share} = useShare()
52
+
53
+ return (
54
+ <SafeAreaView style={{flex: 1}}>
55
+ <View
56
+ style={{flex: 1, paddingHorizontal: 16, backgroundColor: '#FFFFFF'}}
57
+ >
58
+ <Text style={styles.title}>Share a Photo</Text>
59
+ <Text style={styles.subtitle}>
60
+ Let&apos;s explore the native capabilities your Shop Mini can access.
61
+ </Text>
62
+ <View>
63
+ <Button
64
+ text="Camera access"
65
+ onPress={async () => {
66
+ await openCamera({})
67
+ .then(image => setImageUrl(image.path))
68
+ .catch(error => {
69
+ showErrorToast({
70
+ message: error.message,
71
+ })
72
+ })
73
+ }}
74
+ />
75
+ <Text style={{marginTop: 8}}>
76
+ Run this Mini on a real device to access the camera.
77
+ </Text>
78
+ </View>
79
+ <View style={{marginVertical: 16}}>
80
+ <Button
81
+ text="Gallery access"
82
+ variant="secondary"
83
+ onPress={async () => {
84
+ await openPicker({})
85
+ .then(image => setImageUrl(image.path))
86
+ .catch(console.log)
87
+ }}
88
+ />
89
+ </View>
90
+ {imageUrl ? (
91
+ <View style={{marginTop: 32, alignItems: 'center'}}>
92
+ <View style={styles.imageContainer}>
93
+ <ImageBox source={{uri: imageUrl}} style={styles.image} />
94
+ </View>
95
+ <Button
96
+ text="Share photo"
97
+ variant="secondary"
98
+ disabled={!imageUrl}
99
+ style={{width: 200, marginTop: 16}}
100
+ onPress={async () => {
101
+ if (imageUrl) {
102
+ await share({
103
+ url: imageUrl,
104
+ title: 'My Shared Image',
105
+ type: 'image/*',
106
+ }).catch(console.log)
107
+ }
108
+ }}
109
+ />
110
+ </View>
111
+ ) : null}
112
+ </View>
113
+ </SafeAreaView>
114
+ )
115
+ }
116
+
117
+ const styles = StyleSheet.create({
118
+ button: {
119
+ padding: 12,
120
+ borderRadius: 8,
121
+ alignItems: 'center',
122
+ },
123
+ primaryButton: {
124
+ backgroundColor: '#000000',
125
+ },
126
+ secondaryButton: {
127
+ backgroundColor: '#E6E6E6',
128
+ },
129
+ buttonText: {
130
+ fontSize: 16,
131
+ },
132
+ title: {
133
+ fontSize: 24,
134
+ fontWeight: 'bold',
135
+ marginBottom: 16,
136
+ marginTop: 8,
137
+ },
138
+ subtitle: {
139
+ fontSize: 16,
140
+ marginBottom: 16,
141
+ },
142
+ imageContainer: {
143
+ width: 200,
144
+ height: 200,
145
+ borderRadius: 16,
146
+ overflow: 'hidden',
147
+ },
148
+ image: {
149
+ width: 200,
150
+ height: 200,
151
+ },
152
+ })
@@ -0,0 +1,9 @@
1
+ import {MiniAppConfig} from '@shopify/shop-minis-sdk'
2
+
3
+ import {App} from './App'
4
+
5
+ const config: MiniAppConfig = {
6
+ ViewerRoot: App,
7
+ }
8
+
9
+ export default config
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "with-camera-access",
3
+ "features": ["FULL_BLEED_VIEWER", "STANDALONE"],
4
+ "permissions": ["GALLERY", "CAMERA"]
5
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "compilerOptions": {
3
+ "baseUrl": ".",
4
+ "paths": {
5
+ "*": [
6
+ "*",
7
+ "*.ios",
8
+ "*.android",
9
+ "./node_modules/@shopify/shop-minis-sdk/node_modules/*"
10
+ ]
11
+ },
12
+ "allowJs": true,
13
+ "resolveJsonModule": true,
14
+ "allowSyntheticDefaultImports": true,
15
+ "esModuleInterop": true,
16
+ "isolatedModules": false,
17
+ "jsx": "preserve",
18
+ "lib": ["es2019"],
19
+ "noUnusedParameters": true,
20
+ "noUnusedLocals": true,
21
+ "moduleResolution": "node",
22
+ "noEmit": true,
23
+ "incremental": true,
24
+ "strict": true,
25
+ "target": "esnext",
26
+ "skipLibCheck": true,
27
+ "noImplicitReturns": false,
28
+ "noFallthroughCasesInSwitch": true,
29
+ "allowUnreachableCode": false,
30
+ "allowUnusedLabels": false,
31
+ "noImplicitAny": true,
32
+ "strictNullChecks": true,
33
+ "strictFunctionTypes": true,
34
+ "strictBindCallApply": true,
35
+ "strictPropertyInitialization": true,
36
+ "noImplicitThis": true,
37
+ "alwaysStrict": true,
38
+ "useUnknownInCatchVariables": false
39
+ },
40
+ "exclude": ["node_modules"]
41
+ }
@@ -0,0 +1,3 @@
1
+ const {minisEslintConfig} = require('@shopify/shop-minis-sdk/eslint-config')
2
+
3
+ module.exports = minisEslintConfig
@@ -0,0 +1 @@
1
+ module.exports = require('@shopify/shop-minis-sdk/graphqlrc')
@@ -0,0 +1,8 @@
1
+ {
2
+ "semi": false,
3
+ "singleQuote": true,
4
+ "trailingComma": "es5",
5
+ "arrowParens": "avoid",
6
+ "bracketSpacing": false,
7
+ "printWidth": 80
8
+ }
@@ -0,0 +1,46 @@
1
+ # Product AI Image Generator Mini
2
+
3
+ A Shop Mini that generates AI-powered product images based on your recently viewed products. Using FAL AI's image generation capabilities, this mini creates realistic studio-quality product images from product titles, descriptions, and shop information.
4
+
5
+ ## Features
6
+
7
+ - Automatically detects your most recently viewed product
8
+ - Generates AI-powered product images using FAL AI
9
+ - Displays original product information alongside generated images
10
+ - Simple one-click image generation
11
+
12
+ ## Setup
13
+
14
+ 1. Clone this repository
15
+ 2. Install dependencies:
16
+
17
+ ```bash
18
+ npm install
19
+ ```
20
+
21
+ 3. Setup your mini and login with your partners account:
22
+
23
+ ```bash
24
+ npx shop-minis setup
25
+ ```
26
+
27
+ 4. Set up your FAL AI API key:
28
+
29
+ - Sign up for a FAL AI account at [FAL AI](https://fal.ai)
30
+ - Get your API key from the dashboard
31
+ - Run `npx shop-minis secrets set fal_ai_key <your-api-key-here>`
32
+ - Run `npx shop-minis proxies apply`
33
+
34
+ 5. Run the development server:
35
+ ```bash
36
+ npm start
37
+ ```
38
+
39
+ ## Development
40
+
41
+ This mini is built using:
42
+
43
+ - React Native
44
+ - TypeScript
45
+ - Shop Minis SDK
46
+ - FAL AI API
@@ -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
+ }
@@ -0,0 +1,5 @@
1
+ module.exports = {
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-sdk/babel-preset'],
5
+ }
@@ -0,0 +1,5 @@
1
+ import {renderDevelopmentMini} from '@shopify/shop-minis-sdk/src/renderDevelopmentMini'
2
+
3
+ import MiniApp from './src'
4
+
5
+ renderDevelopmentMini(MiniApp)
@@ -0,0 +1,3 @@
1
+ const {getMinisMetroConfig} = require('@shopify/shop-minis-sdk/metro-config')
2
+
3
+ module.exports = getMinisMetroConfig(__dirname)
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "with-fal-ai",
3
+ "version": "0.0.1",
4
+ "private": true,
5
+ "scripts": {
6
+ "start": "shop-minis dev",
7
+ "test": "jest",
8
+ "lint": "eslint ."
9
+ },
10
+ "dependencies": {
11
+ "@shopify/shop-minis-sdk": "0.0.16"
12
+ },
13
+ "devDependencies": {
14
+ "@shopify/shop-minis-cli": "0.0.161",
15
+ "@types/jest": "^29.2.6",
16
+ "babel-jest": "^26.6.3",
17
+ "eslint": "^8.32.0",
18
+ "jest": "^29.3.1",
19
+ "prettier": "^2.8.2"
20
+ },
21
+ "jest": {
22
+ "preset": "react-native"
23
+ },
24
+ "overrides": {
25
+ "graphql": "15.8.0",
26
+ "react": "18.2.0",
27
+ "react-native": "0.73.2"
28
+ },
29
+ "resolutions": {
30
+ "@apollo/federation": "0.38.1",
31
+ "graphql": "15.8.0"
32
+ }
33
+ }
@@ -0,0 +1,5 @@
1
+ import {HomeScreen} from './screens/HomeScreen'
2
+
3
+ export function App() {
4
+ return <HomeScreen />
5
+ }
@@ -0,0 +1,9 @@
1
+ import {MiniAppConfig} from '@shopify/shop-minis-sdk'
2
+
3
+ import {App} from './App'
4
+
5
+ const config: MiniAppConfig = {
6
+ ViewerRoot: App,
7
+ }
8
+
9
+ export default config
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "with-fal-ai",
3
+ "features": ["FULL_BLEED_VIEWER", "STANDALONE"],
4
+ "trusted_domains": ["v3.fal.media"],
5
+ "proxies": [
6
+ {
7
+ "target_url_pattern": "https://queue.fal.run/fal-ai/flux/schnell*",
8
+ "allowed_methods": ["POST"],
9
+ "appended_headers": ["Authorization: Key {{ secrets.fal_ai_key }}"],
10
+ "user_rate_limit_requests": 10,
11
+ "user_rate_limit_interval": 3600
12
+ },
13
+ {
14
+ "target_url_pattern": "https://queue.fal.run/fal-ai/flux/requests*",
15
+ "allowed_methods": ["GET"],
16
+ "appended_headers": ["Authorization: Key {{ secrets.fal_ai_key }}"],
17
+ "user_rate_limit_requests": 50,
18
+ "user_rate_limit_interval": 300
19
+ }
20
+ ]
21
+ }