@shopify/shop-minis-cli 0.0.91 → 0.0.93

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 (48) hide show
  1. package/build/commands/codemod/releases/index.js +5 -1
  2. package/build/commands/codemod/releases/index.js.map +1 -1
  3. package/build/commands/codemod/releases/v0-0-91/index.d.ts +3 -0
  4. package/build/commands/codemod/releases/{v0-0-91.js → v0-0-91/index.js} +6 -4
  5. package/build/commands/codemod/releases/v0-0-91/index.js.map +1 -0
  6. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.d.ts +5 -0
  7. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.js +45 -0
  8. package/build/commands/codemod/releases/v0-0-91/replace-dev-wrapper.js.map +1 -0
  9. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.d.ts +1 -0
  10. package/build/commands/codemod/releases/v0-0-91/{replace-imports.js → replace-safe-area-imports.js} +2 -2
  11. package/build/commands/codemod/releases/v0-0-91/replace-safe-area-imports.js.map +1 -0
  12. package/build/commands/codemod/releases/v0-0-92.js +38 -0
  13. package/build/commands/codemod/releases/v0-0-92.js.map +1 -0
  14. package/build/commands/codemod/releases/v0-0-93/blank/App-after.d.ts +1 -0
  15. package/build/commands/codemod/releases/v0-0-93/blank/App-after.js +15 -0
  16. package/build/commands/codemod/releases/v0-0-93/blank/App-after.js.map +1 -0
  17. package/build/commands/codemod/releases/v0-0-93/blank/App-before.d.ts +1 -0
  18. package/build/commands/codemod/releases/v0-0-93/blank/App-before.js +13 -0
  19. package/build/commands/codemod/releases/v0-0-93/blank/App-before.js.map +1 -0
  20. package/build/commands/codemod/releases/v0-0-93/index.d.ts +6 -0
  21. package/build/commands/codemod/releases/v0-0-93/index.js +7 -0
  22. package/build/commands/codemod/releases/v0-0-93/index.js.map +1 -0
  23. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.d.ts +1 -0
  24. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.js +53 -0
  25. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.js.map +1 -0
  26. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.d.ts +1 -0
  27. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.js +43 -0
  28. package/build/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.js.map +1 -0
  29. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.d.ts +1 -0
  30. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.js +49 -0
  31. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.js.map +1 -0
  32. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.d.ts +1 -0
  33. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.js +42 -0
  34. package/build/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.js.map +1 -0
  35. package/build/commands/codemod/releases/v0-0-93.d.ts +3 -0
  36. package/build/commands/codemod/releases/v0-0-93.js +48 -0
  37. package/build/commands/codemod/releases/v0-0-93.js.map +1 -0
  38. package/build/commands/dev/utils/interactive-terminal.js +3 -1
  39. package/build/commands/dev/utils/interactive-terminal.js.map +1 -1
  40. package/package.json +1 -1
  41. package/templates/__template_blank/src/App.tsx +6 -4
  42. package/templates/__template_common/index.tsx +2 -35
  43. package/templates/__template_shoppable_posts/src/App.tsx +12 -2
  44. package/templates/__template_shoppable_videos/src/App.tsx +9 -2
  45. package/build/commands/codemod/releases/v0-0-91/replace-imports.d.ts +0 -1
  46. package/build/commands/codemod/releases/v0-0-91/replace-imports.js.map +0 -1
  47. package/build/commands/codemod/releases/v0-0-91.js.map +0 -1
  48. /package/build/commands/codemod/releases/{v0-0-91.d.ts → v0-0-92.d.ts} +0 -0
@@ -20,7 +20,9 @@ import v0x0x79Upgrade from './v0-0-79.js';
20
20
  import v0x0x84Upgrade from './v0-0-84.js';
21
21
  import v0x0x85Upgrade from './v0-0-85.js';
22
22
  import v0x0x89Upgrade from './v0-0-89.js';
23
- import v0x0x91Upgrade from './v0-0-91.js';
23
+ import v0x0x91Upgrade from './v0-0-91/index.js';
24
+ import v0x0x92Upgrade from './v0-0-92.js';
25
+ import v0x0x93Upgrade from './v0-0-93.js';
24
26
  const upgrades = [
25
27
  v0x0x42Upgrade,
26
28
  v0x0x43Upgrade,
@@ -42,6 +44,8 @@ const upgrades = [
42
44
  v0x0x85Upgrade,
43
45
  v0x0x89Upgrade,
44
46
  v0x0x91Upgrade,
47
+ v0x0x92Upgrade,
48
+ v0x0x93Upgrade,
45
49
  ];
46
50
  // the list of upgrades must be sorted by version. just making sure of it
47
51
  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":"AAAA,OAAO,EAEL,EAAE,IAAI,iBAAiB,EACvB,GAAG,IAAI,kBAAkB,GAC1B,MAAM,QAAQ,CAAA;AACf,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,MAAM,oBAAoB,CAAA;AAC/C,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AACzC,OAAO,cAAc,MAAM,cAAc,CAAA;AAGzC,MAAM,QAAQ,GAAgC;IAC5C,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;CACf,CAAA;AAED,yEAAyE;AACzE,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC,OAAO,EAAE,eAAe,EAAC,EAAE,EAAC,OAAO,EAAE,eAAe,EAAC,EAAE,EAAE,CACvE,iBAAiB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,WAAW,EACX,SAAS,EACT,UAAU,EACV,OAAO,GAMR;IACC,WAAW,CACT,kCAAkC,WAAW,eAAe,SAAS,EAAE,CACxE,CAAA;IACD,KAAK,MAAM,EAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAC,IAAI,QAAQ,EAAE;QAC5D,IACE,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC;YACvC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,EACtC;YACA,WAAW,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAA;YACtD,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACvC,wBAAwB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;SAChD;KACF;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA,CAAC,gDAAgD;AAClE,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,YAAsB;IACvE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACxB,OAAM;KACP;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,OAAO,iBAAiB,CAAC,CAAC,CAAA;IAC9E,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,gBAAgB,EAAE,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC"}
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;
@@ -1,7 +1,8 @@
1
1
  import { readFile, writeFile } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import { SemVer } from 'semver';
4
- import { replaceAllImports } from './v0-0-91/replace-imports.js';
4
+ import { replaceAllSafeAreaImports } from './replace-safe-area-imports.js';
5
+ import { replaceDevWrapper } from './replace-dev-wrapper.js';
5
6
  /**
6
7
  * The concept of `features` was added to `manifest.json` with a single feature toggle for `"FULL_BLEED_VIEWER"`.
7
8
  * This upgrade exists to add it to the blank template to satisfy our tests, we are not automatically
@@ -21,11 +22,12 @@ async function applyUpgrade() {
21
22
  encoding: 'utf-8',
22
23
  });
23
24
  }
24
- await replaceAllImports();
25
+ await replaceAllSafeAreaImports();
26
+ await replaceDevWrapper();
25
27
  }
26
28
  const releaseNotes = [
27
- 'Adds the "FULL_BLEED_VIEWER" feature flag',
28
29
  'Changes `SafeAreaView` imports to come from `@shopify/shop-minis-platform-sdk`',
30
+ 'Replaces deprecated Wrapper component from `@shopify/shop-minis-platform-sdk` with DevelopmentMiniWrapper from `@shopify/shop-minis-runtime`',
29
31
  ];
30
32
  const exports = {
31
33
  releaseNotes,
@@ -33,4 +35,4 @@ const exports = {
33
35
  version: new SemVer('0.0.91'),
34
36
  };
35
37
  export default exports;
36
- //# sourceMappingURL=v0-0-91.js.map
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-91/index.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,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAA;AAE1D;;;;;;GAMG;AACH,KAAK,UAAU,YAAY;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAA;QACtE,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAC1D,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;QAEzD,YAAY,CAAC,QAAQ,GAAG,CAAC,mBAAmB,CAAC,CAAA;QAE7C,MAAM,SAAS,CACb,gBAAgB,EAChB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAC5C;YACE,QAAQ,EAAE,OAAO;SAClB,CACF,CAAA;KACF;IAED,MAAM,yBAAyB,EAAE,CAAA;IACjC,MAAM,iBAAiB,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,YAAY,GAAa;IAC7B,gFAAgF;IAChF,8IAA8I;CAC/I,CAAA;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;CAC9B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Replaces usage of the deprecated Wrapper component from the minis sdk with DevelopmentMiniWrapper
3
+ * from shop-minis-runtime
4
+ */
5
+ export declare function replaceDevWrapper(): Promise<void>;
@@ -0,0 +1,45 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { getRunBinCommand } from '../../../../utils/package-manager.js';
4
+ import { execAsync } from '../../../../utils/exec-async-child-process.js';
5
+ /**
6
+ * Replaces usage of the deprecated Wrapper component from the minis sdk with DevelopmentMiniWrapper
7
+ * from shop-minis-runtime
8
+ */
9
+ export async function replaceDevWrapper() {
10
+ try {
11
+ const indexTsxPath = path.join(process.cwd(), 'index.tsx');
12
+ let indexTsxContent = await readFile(indexTsxPath, {
13
+ encoding: 'utf-8',
14
+ });
15
+ if (indexTsxContent.includes('DevelopmentMiniWrapper')) {
16
+ // do nothing if the mini is already using the development mini wrapper from shop-minis-runtime
17
+ return;
18
+ }
19
+ // delete unused imports
20
+ indexTsxContent = indexTsxContent.replace("import {ShopActionsProvider} from '@shopify/shop-minis-platform-sdk/actions'", '');
21
+ indexTsxContent = indexTsxContent.replace("import {useNativeEventEmitterShopActions} from '@shopify/shop-minis-platform-sdk'", '');
22
+ // replace wrapper import
23
+ indexTsxContent = indexTsxContent.replace("import {Wrapper} from '@shopify/shop-minis-platform-sdk/src/components/Wrapper'", "import {DevelopmentMiniWrapper} from '@shopify/shop-minis-runtime/src/components/DevelopmentMiniWrapper'");
24
+ // replace potential extra empty line after replacing imports
25
+ indexTsxContent = indexTsxContent.replace('\n\n', '\n');
26
+ // delete unused code required to support the old wrapper
27
+ indexTsxContent = indexTsxContent.replace('const actions = useNativeEventEmitterShopActions()', '');
28
+ indexTsxContent = indexTsxContent.replace('<ShopActionsProvider value={actions}>', '');
29
+ indexTsxContent = indexTsxContent.replace('</ShopActionsProvider>', '');
30
+ // replace wrapper component
31
+ indexTsxContent = indexTsxContent.replace('<Wrapper', '<DevelopmentMiniWrapper');
32
+ indexTsxContent = indexTsxContent.replace('</Wrapper>', '</DevelopmentMiniWrapper>');
33
+ await writeFile(indexTsxPath, indexTsxContent, {
34
+ encoding: 'utf-8',
35
+ });
36
+ // format the file with prettier
37
+ await execAsync({
38
+ cmd: await getRunBinCommand(`prettier -w ${indexTsxPath}`),
39
+ });
40
+ }
41
+ catch (error) {
42
+ // do nothing if the file does not exist
43
+ }
44
+ }
45
+ //# sourceMappingURL=replace-dev-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace-dev-wrapper.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-91/replace-dev-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,gBAAgB,EAAC,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAAC,SAAS,EAAC,MAAM,+CAA+C,CAAA;AAEvE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAA;QAC1D,IAAI,eAAe,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE;YACjD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QAEF,IAAI,eAAe,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE;YACtD,+FAA+F;YAC/F,OAAM;SACP;QAED,wBAAwB;QACxB,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,8EAA8E,EAC9E,EAAE,CACH,CAAA;QACD,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,mFAAmF,EACnF,EAAE,CACH,CAAA;QAED,yBAAyB;QACzB,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,iFAAiF,EACjF,0GAA0G,CAC3G,CAAA;QACD,6DAA6D;QAC7D,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEvD,yDAAyD;QACzD,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,oDAAoD,EACpD,EAAE,CACH,CAAA;QACD,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,uCAAuC,EACvC,EAAE,CACH,CAAA;QACD,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAA;QAEvE,4BAA4B;QAC5B,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,UAAU,EACV,yBAAyB,CAC1B,CAAA;QACD,eAAe,GAAG,eAAe,CAAC,OAAO,CACvC,YAAY,EACZ,2BAA2B,CAC5B,CAAA;QAED,MAAM,SAAS,CAAC,YAAY,EAAE,eAAe,EAAE;YAC7C,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QAEF,gCAAgC;QAChC,MAAM,SAAS,CAAC;YACd,GAAG,EAAE,MAAM,gBAAgB,CAAC,eAAe,YAAY,EAAE,CAAC;SAC3D,CAAC,CAAA;KACH;IAAC,OAAO,KAAK,EAAE;QACd,wCAAwC;KACzC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function replaceAllSafeAreaImports(): Promise<void>;
@@ -60,7 +60,7 @@ const replaceImports = (fileContents) => {
60
60
  reuseWhitespace: true,
61
61
  });
62
62
  };
63
- export async function replaceAllImports() {
63
+ export async function replaceAllSafeAreaImports() {
64
64
  const files = await glob('**/*.(js|jsx|ts|tsx)', {
65
65
  cwd: path.join(process.cwd(), 'src'),
66
66
  absolute: true,
@@ -94,4 +94,4 @@ export async function replaceAllImports() {
94
94
  }
95
95
  }
96
96
  }
97
- //# sourceMappingURL=replace-imports.js.map
97
+ //# sourceMappingURL=replace-safe-area-imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace-safe-area-imports.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-91/replace-safe-area-imports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,WAA8B,MAAM,aAAa,CAAA;AACxD,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAA;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAC,SAAS,EAAC,MAAM,+CAA+C,CAAA;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,sCAAsC,CAAA;AAErE,MAAM,iBAAiB,GAAG,CAAC,SAAc,EAAgC,EAAE,CACzE,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAA;AAE5D,MAAM,6BAA6B,GAAG,CAAC,SAAc,EAAE,EAAE,CACvD,OAAO,CACL,iBAAiB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAC3E,CAAA;AAEH,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAE,EAAE;IAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAA;IAC5B,IAAI,oBAAoB,GAAG,KAAK,CAAA;IAEhC,gGAAgG;IAChG,IAAI;SACD,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC;SACzB,MAAM,CACL,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,cAAc;QAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,gCAAgC,CAChE;SACA,OAAO,CAAC,MAAM,CAAC,EAAE;QAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,6BAA6B,CAAC;YAAE,OAAM;QAExE,oBAAoB,GAAG,IAAI,CAAA;QAE3B,MAAM,aAAa,GACjB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAC5B,SAAS,CAAC,EAAE,CAAC,CAAC,6BAA6B,CAAC,SAAS,CAAC,CACvD,IAAI,EAAE,CAAA;QAET,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAA;SACnB;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,aAAa,CAAA;SACvC;IACH,CAAC,CAAC,CAAA;IAEJ,4DAA4D;IAC5D,IAAI,CAAC,oBAAoB;QAAE,OAAO,YAAY,CAAA;IAE9C,2EAA2E;IAC3E,MAAM,SAAS,GAAG,IAAI;SACnB,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC;SACzB,MAAM,CACL,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,kCAAkC,CAC1E,CAAA;IAEH,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;QAC1B,2EAA2E;QAC3E,MAAM,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAC3C,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,EACjD,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAC9C,CAAA;QAED,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;KACxD;SAAM;QACL,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;gBAC3B,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;aAC5B;YAED,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CACjD,6BAA6B,CAC9B,CAAA;YAED,IAAI,CAAC,eAAe,EAAE;gBACpB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAChD,CAAA;aACF;QACH,CAAC,CAAC,CAAA;KACH;IAED,qGAAqG;IACrG,0BAA0B;IAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC;QACnB,KAAK,EAAE,QAAQ;QACf,kBAAkB,EAAE,KAAK;QACzB,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,IAAI;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,MAAM,KAAK,GAAa,MAAM,IAAI,CAAC,sBAAsB,EAAE;QACzD,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC;QACpC,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,IAAI;QACT,mBAAmB,EAAE,KAAK;KAC3B,CAAC,CAAA;IAEF,WAAW,CAAC,YAAY,KAAK,CAAC,MAAM,yBAAyB,CAAC,CAAA;IAE9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI;YACF,MAAM,IAAI,GAAW,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAEjD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC3C,WAAW,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAA;gBACjD,SAAQ;aACT;YAED,WAAW,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAA;YAE1D,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;YAEnC,IAAI,MAAM,KAAK,IAAI,EAAE;gBACnB,WAAW,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAA;gBACtC,SAAQ;aACT;YAED,WAAW,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAA;YAE1C,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;YAErC,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAA;YACjE,WAAW,CAAC,aAAa,WAAW,EAAE,CAAC,CAAA;YAEvC,MAAM,SAAS,CAAC;gBACd,GAAG,EAAE,WAAW;aACjB,CAAC,CAAA;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,KAAK,GAAG,EAAE,CAAC,CAAA;SACpD;KACF;AACH,CAAC"}
@@ -0,0 +1,38 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ /**
5
+ * Move development config of the Mini from index.tsx in the rootpath to shop-minis-runtime
6
+ *
7
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.91...v0.0.92
8
+ */
9
+ async function applyUpgrade() {
10
+ const indexTsxPath = path.join(process.cwd(), 'index.tsx');
11
+ try {
12
+ fs.writeFileSync(indexTsxPath,
13
+ // for internal codemod we want sandbox to be true so that it matches the value used in starting templates
14
+ // for real partners, we want to set sandbox to false because we assume they are already using their API_KEY
15
+ getIndexFileContent(process.env.INTERNAL_CODEMODS ? 'true' : 'false'), {
16
+ encoding: 'utf-8',
17
+ });
18
+ }
19
+ catch (error) {
20
+ // If index.tsx doesn't exist or is unreadable for some reason, we don't need to do anything
21
+ }
22
+ }
23
+ const getIndexFileContent = (enableApiSandbox) => `import {renderDevelopmentMini} from '@shopify/shop-minis-runtime/src/utils/renderDevelopmentMini'
24
+
25
+ import MiniApp from './src'
26
+
27
+ renderDevelopmentMini(MiniApp.Root, {enableApiSandbox: ${enableApiSandbox}})
28
+ `;
29
+ const releaseNotes = [
30
+ 'Move development config of the Mini from index.tsx in the rootpath to shop-minis-runtime',
31
+ ];
32
+ const exports = {
33
+ releaseNotes,
34
+ applyUpgrade,
35
+ version: new SemVer('0.0.92'),
36
+ };
37
+ export default exports;
38
+ //# sourceMappingURL=v0-0-92.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-92.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-92.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAA;AAI7B;;;;GAIG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAA;IAE1D,IAAI;QACF,EAAE,CAAC,aAAa,CACd,YAAY;QACZ,0GAA0G;QAC1G,4GAA4G;QAC5G,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EACrE;YACE,QAAQ,EAAE,OAAO;SAClB,CACF,CAAA;KACF;IAAC,OAAO,KAAK,EAAE;QACd,4FAA4F;KAC7F;AACH,CAAC;AAED,MAAM,mBAAmB,GAAG,CAC1B,gBAAkC,EAClC,EAAE,CAAC;;;;yDAIoD,gBAAgB;CACxE,CAAA;AAED,MAAM,YAAY,GAAa;IAC7B,0FAA0F;CAC3F,CAAA;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;CAC9B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const blankAppTsxAfter = "import {StatusBar} from 'react-native'\nimport {Box, Text, SafeAreaView} from '@shopify/shop-minis-platform-sdk'\n\nexport function App() {\n return (\n <Box flex={1} backgroundColor=\"backgrounds-regular\">\n <StatusBar barStyle=\"dark-content\" />\n <SafeAreaView style={{flex: 1, justifyContent: 'center'}}>\n <Text textAlign=\"center\">Fill in the blank</Text>\n </SafeAreaView>\n </Box>\n )\n}\n";
@@ -0,0 +1,15 @@
1
+ export const blankAppTsxAfter = `import {StatusBar} from 'react-native'
2
+ import {Box, Text, SafeAreaView} from '@shopify/shop-minis-platform-sdk'
3
+
4
+ export function App() {
5
+ return (
6
+ <Box flex={1} backgroundColor="backgrounds-regular">
7
+ <StatusBar barStyle="dark-content" />
8
+ <SafeAreaView style={{flex: 1, justifyContent: 'center'}}>
9
+ <Text textAlign="center">Fill in the blank</Text>
10
+ </SafeAreaView>
11
+ </Box>
12
+ )
13
+ }
14
+ `;
15
+ //# sourceMappingURL=App-after.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App-after.js","sourceRoot":"","sources":["../../../../../../src/commands/codemod/releases/v0-0-93/blank/App-after.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;CAa/B,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const blankAppTsxBefore = "import {Box, Text, SafeAreaView} from '@shopify/shop-minis-platform-sdk'\n\nexport function App() {\n return (\n <SafeAreaView style={{flex: 1}}>\n <Box flex={1} padding=\"m\" backgroundColor=\"backgrounds-regular\">\n <Text textAlign=\"center\">Fill in the blank</Text>\n </Box>\n </SafeAreaView>\n )\n}\n";
@@ -0,0 +1,13 @@
1
+ export const blankAppTsxBefore = `import {Box, Text, SafeAreaView} from '@shopify/shop-minis-platform-sdk'
2
+
3
+ export function App() {
4
+ return (
5
+ <SafeAreaView style={{flex: 1}}>
6
+ <Box flex={1} padding="m" backgroundColor="backgrounds-regular">
7
+ <Text textAlign="center">Fill in the blank</Text>
8
+ </Box>
9
+ </SafeAreaView>
10
+ )
11
+ }
12
+ `;
13
+ //# sourceMappingURL=App-before.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App-before.js","sourceRoot":"","sources":["../../../../../../src/commands/codemod/releases/v0-0-93/blank/App-before.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;CAWhC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './blank/App-before.js';
2
+ export * from './blank/App-after.js';
3
+ export * from './shoppable-posts/App-before.js';
4
+ export * from './shoppable-posts/App-after.js';
5
+ export * from './shoppable-videos/App-before.js';
6
+ export * from './shoppable-videos/App-after.js';
@@ -0,0 +1,7 @@
1
+ export * from './blank/App-before.js';
2
+ export * from './blank/App-after.js';
3
+ export * from './shoppable-posts/App-before.js';
4
+ export * from './shoppable-posts/App-after.js';
5
+ export * from './shoppable-videos/App-before.js';
6
+ export * from './shoppable-videos/App-after.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-93/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,cAAc,iCAAiC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const shoppablePostsAppTsxAfter = "import {useMemo} from 'react'\nimport {StatusBar} from 'react-native'\nimport {\n ImageCollectionV2EntryPointItem,\n ShoppablePosts,\n useMinisParams,\n imageCollectionV2EntrypointFixture,\n MINIS_SANDBOX_SHOP_GID,\n SafeAreaView,\n Box,\n} from '@shopify/shop-minis-platform-sdk'\n\nexport function App() {\n const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()\n\n // Fixtures provided in the SDK will get you started without entrypoints.\n // Remove them once you have you have your test store setup with your own entrypoints.\n const entryPoint = _entryPoint || imageCollectionV2EntrypointFixture\n const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID\n\n const shoppablePosts = useMemo(() => {\n const collectionItems =\n entryPoint?.type === 'IMAGE_COLLECTION_V2'\n ? entryPoint.collectionItems\n : []\n return mapEntryPointCollectionItemsToShoppablePosts(collectionItems)\n }, [entryPoint])\n\n return (\n <Box backgroundColor=\"backgrounds-regular\" flex={1}>\n <StatusBar barStyle=\"dark-content\" />\n <SafeAreaView style={{flex: 1}}>\n <ShoppablePosts items={shoppablePosts} shopId={shopGID} />\n </SafeAreaView>\n </Box>\n )\n}\n\nfunction mapEntryPointCollectionItemsToShoppablePosts(\n collectionItems: ImageCollectionV2EntryPointItem[]\n) {\n return collectionItems.map(item => ({\n externalId: item.externalId,\n image: {url: item.image.url},\n description: item.description,\n postedAt: item.displayDate,\n relatedProductsIds: item.relatedProducts.map(\n relatedProduct => relatedProduct.productId\n ),\n }))\n}\n";
@@ -0,0 +1,53 @@
1
+ export const shoppablePostsAppTsxAfter = `import {useMemo} from 'react'
2
+ import {StatusBar} from 'react-native'
3
+ import {
4
+ ImageCollectionV2EntryPointItem,
5
+ ShoppablePosts,
6
+ useMinisParams,
7
+ imageCollectionV2EntrypointFixture,
8
+ MINIS_SANDBOX_SHOP_GID,
9
+ SafeAreaView,
10
+ Box,
11
+ } from '@shopify/shop-minis-platform-sdk'
12
+
13
+ export function App() {
14
+ const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()
15
+
16
+ // Fixtures provided in the SDK will get you started without entrypoints.
17
+ // Remove them once you have you have your test store setup with your own entrypoints.
18
+ const entryPoint = _entryPoint || imageCollectionV2EntrypointFixture
19
+ const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID
20
+
21
+ const shoppablePosts = useMemo(() => {
22
+ const collectionItems =
23
+ entryPoint?.type === 'IMAGE_COLLECTION_V2'
24
+ ? entryPoint.collectionItems
25
+ : []
26
+ return mapEntryPointCollectionItemsToShoppablePosts(collectionItems)
27
+ }, [entryPoint])
28
+
29
+ return (
30
+ <Box backgroundColor="backgrounds-regular" flex={1}>
31
+ <StatusBar barStyle="dark-content" />
32
+ <SafeAreaView style={{flex: 1}}>
33
+ <ShoppablePosts items={shoppablePosts} shopId={shopGID} />
34
+ </SafeAreaView>
35
+ </Box>
36
+ )
37
+ }
38
+
39
+ function mapEntryPointCollectionItemsToShoppablePosts(
40
+ collectionItems: ImageCollectionV2EntryPointItem[]
41
+ ) {
42
+ return collectionItems.map(item => ({
43
+ externalId: item.externalId,
44
+ image: {url: item.image.url},
45
+ description: item.description,
46
+ postedAt: item.displayDate,
47
+ relatedProductsIds: item.relatedProducts.map(
48
+ relatedProduct => relatedProduct.productId
49
+ ),
50
+ }))
51
+ }
52
+ `;
53
+ //# sourceMappingURL=App-after.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App-after.js","sourceRoot":"","sources":["../../../../../../src/commands/codemod/releases/v0-0-93/shoppable-posts/App-after.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDxC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const shoppablePostsAppTsxBefore = "import {\n ImageCollectionV2EntryPointItem,\n ShoppablePosts,\n useMinisParams,\n imageCollectionV2EntrypointFixture,\n MINIS_SANDBOX_SHOP_GID,\n} from '@shopify/shop-minis-platform-sdk'\nimport {useMemo} from 'react'\n\nexport function App() {\n const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()\n\n // Fixtures provided in the SDK will get you started without entrypoints.\n // Remove them once you have you have your test store setup with your own entrypoints.\n const entryPoint = _entryPoint || imageCollectionV2EntrypointFixture\n const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID\n\n const shoppablePosts = useMemo(() => {\n const collectionItems =\n entryPoint?.type === 'IMAGE_COLLECTION_V2'\n ? entryPoint.collectionItems\n : []\n return mapEntryPointCollectionItemsToShoppablePosts(collectionItems)\n }, [entryPoint])\n\n return <ShoppablePosts items={shoppablePosts} shopId={shopGID} />\n}\n\nfunction mapEntryPointCollectionItemsToShoppablePosts(\n collectionItems: ImageCollectionV2EntryPointItem[]\n) {\n return collectionItems.map(item => ({\n externalId: item.externalId,\n image: {url: item.image.url},\n description: item.description,\n postedAt: item.displayDate,\n relatedProductsIds: item.relatedProducts.map(\n relatedProduct => relatedProduct.productId\n ),\n }))\n}\n";
@@ -0,0 +1,43 @@
1
+ export const shoppablePostsAppTsxBefore = `import {
2
+ ImageCollectionV2EntryPointItem,
3
+ ShoppablePosts,
4
+ useMinisParams,
5
+ imageCollectionV2EntrypointFixture,
6
+ MINIS_SANDBOX_SHOP_GID,
7
+ } from '@shopify/shop-minis-platform-sdk'
8
+ import {useMemo} from 'react'
9
+
10
+ export function App() {
11
+ const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()
12
+
13
+ // Fixtures provided in the SDK will get you started without entrypoints.
14
+ // Remove them once you have you have your test store setup with your own entrypoints.
15
+ const entryPoint = _entryPoint || imageCollectionV2EntrypointFixture
16
+ const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID
17
+
18
+ const shoppablePosts = useMemo(() => {
19
+ const collectionItems =
20
+ entryPoint?.type === 'IMAGE_COLLECTION_V2'
21
+ ? entryPoint.collectionItems
22
+ : []
23
+ return mapEntryPointCollectionItemsToShoppablePosts(collectionItems)
24
+ }, [entryPoint])
25
+
26
+ return <ShoppablePosts items={shoppablePosts} shopId={shopGID} />
27
+ }
28
+
29
+ function mapEntryPointCollectionItemsToShoppablePosts(
30
+ collectionItems: ImageCollectionV2EntryPointItem[]
31
+ ) {
32
+ return collectionItems.map(item => ({
33
+ externalId: item.externalId,
34
+ image: {url: item.image.url},
35
+ description: item.description,
36
+ postedAt: item.displayDate,
37
+ relatedProductsIds: item.relatedProducts.map(
38
+ relatedProduct => relatedProduct.productId
39
+ ),
40
+ }))
41
+ }
42
+ `;
43
+ //# sourceMappingURL=App-before.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App-before.js","sourceRoot":"","sources":["../../../../../../src/commands/codemod/releases/v0-0-93/shoppable-posts/App-before.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCzC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const shoppableVideosAppTsxAfter = "import {useMemo} from 'react'\nimport {StatusBar} from 'react-native'\nimport {\n ShoppableVideos,\n VideoCollectionV2EntryPointItem,\n useMinisParams,\n videoCollectionV2EntrypointFixture,\n MINIS_SANDBOX_SHOP_GID,\n Box,\n} from '@shopify/shop-minis-platform-sdk'\n\nexport function App() {\n const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()\n\n // Fixtures provided in the SDK will get you started without entrypoints.\n // Remove them once you have you have your test store setup with your own entrypoints.\n const entryPoint = _entryPoint || videoCollectionV2EntrypointFixture\n const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID\n\n const shoppableVideos = useMemo(() => {\n const collectionItems =\n entryPoint?.type === 'VIDEO_COLLECTION_V2'\n ? entryPoint.collectionItems\n : []\n return mapEntryPointCollectionItemsToShoppableVideos(collectionItems)\n }, [entryPoint])\n\n return (\n <Box backgroundColor=\"foregrounds-contrasting-inverted\" flex={1}>\n <StatusBar barStyle=\"light-content\" />\n <ShoppableVideos items={shoppableVideos} shopId={shopGID} />\n </Box>\n )\n}\n\nfunction mapEntryPointCollectionItemsToShoppableVideos(\n collectionItems: VideoCollectionV2EntryPointItem[]\n) {\n return collectionItems.map(item => ({\n externalId: item.externalId,\n videoUrl: item.video.embeddedUrl,\n fallbackImageUrl: item.fallbackImage.url,\n relatedProductsIds: item.relatedProducts.map(\n relatedProduct => relatedProduct.productId\n ),\n }))\n}\n";
@@ -0,0 +1,49 @@
1
+ export const shoppableVideosAppTsxAfter = `import {useMemo} from 'react'
2
+ import {StatusBar} from 'react-native'
3
+ import {
4
+ ShoppableVideos,
5
+ VideoCollectionV2EntryPointItem,
6
+ useMinisParams,
7
+ videoCollectionV2EntrypointFixture,
8
+ MINIS_SANDBOX_SHOP_GID,
9
+ Box,
10
+ } from '@shopify/shop-minis-platform-sdk'
11
+
12
+ export function App() {
13
+ const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()
14
+
15
+ // Fixtures provided in the SDK will get you started without entrypoints.
16
+ // Remove them once you have you have your test store setup with your own entrypoints.
17
+ const entryPoint = _entryPoint || videoCollectionV2EntrypointFixture
18
+ const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID
19
+
20
+ const shoppableVideos = useMemo(() => {
21
+ const collectionItems =
22
+ entryPoint?.type === 'VIDEO_COLLECTION_V2'
23
+ ? entryPoint.collectionItems
24
+ : []
25
+ return mapEntryPointCollectionItemsToShoppableVideos(collectionItems)
26
+ }, [entryPoint])
27
+
28
+ return (
29
+ <Box backgroundColor="foregrounds-contrasting-inverted" flex={1}>
30
+ <StatusBar barStyle="light-content" />
31
+ <ShoppableVideos items={shoppableVideos} shopId={shopGID} />
32
+ </Box>
33
+ )
34
+ }
35
+
36
+ function mapEntryPointCollectionItemsToShoppableVideos(
37
+ collectionItems: VideoCollectionV2EntryPointItem[]
38
+ ) {
39
+ return collectionItems.map(item => ({
40
+ externalId: item.externalId,
41
+ videoUrl: item.video.embeddedUrl,
42
+ fallbackImageUrl: item.fallbackImage.url,
43
+ relatedProductsIds: item.relatedProducts.map(
44
+ relatedProduct => relatedProduct.productId
45
+ ),
46
+ }))
47
+ }
48
+ `;
49
+ //# sourceMappingURL=App-after.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App-after.js","sourceRoot":"","sources":["../../../../../../src/commands/codemod/releases/v0-0-93/shoppable-videos/App-after.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CzC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const shoppableVideosAppTsxBefore = "import {\n ShoppableVideos,\n VideoCollectionV2EntryPointItem,\n useMinisParams,\n videoCollectionV2EntrypointFixture,\n MINIS_SANDBOX_SHOP_GID,\n} from '@shopify/shop-minis-platform-sdk'\nimport {useMemo} from 'react'\n\nexport function App() {\n const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()\n\n // Fixtures provided in the SDK will get you started without entrypoints.\n // Remove them once you have you have your test store setup with your own entrypoints.\n const entryPoint = _entryPoint || videoCollectionV2EntrypointFixture\n const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID\n\n const shoppableVideos = useMemo(() => {\n const collectionItems =\n entryPoint?.type === 'VIDEO_COLLECTION_V2'\n ? entryPoint.collectionItems\n : []\n return mapEntryPointCollectionItemsToShoppableVideos(collectionItems)\n }, [entryPoint])\n\n return <ShoppableVideos items={shoppableVideos} shopId={shopGID} />\n}\n\nfunction mapEntryPointCollectionItemsToShoppableVideos(\n collectionItems: VideoCollectionV2EntryPointItem[]\n) {\n return collectionItems.map(item => ({\n externalId: item.externalId,\n videoUrl: item.video.embeddedUrl,\n fallbackImageUrl: item.fallbackImage.url,\n relatedProductsIds: item.relatedProducts.map(\n relatedProduct => relatedProduct.productId\n ),\n }))\n}\n";
@@ -0,0 +1,42 @@
1
+ export const shoppableVideosAppTsxBefore = `import {
2
+ ShoppableVideos,
3
+ VideoCollectionV2EntryPointItem,
4
+ useMinisParams,
5
+ videoCollectionV2EntrypointFixture,
6
+ MINIS_SANDBOX_SHOP_GID,
7
+ } from '@shopify/shop-minis-platform-sdk'
8
+ import {useMemo} from 'react'
9
+
10
+ export function App() {
11
+ const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()
12
+
13
+ // Fixtures provided in the SDK will get you started without entrypoints.
14
+ // Remove them once you have you have your test store setup with your own entrypoints.
15
+ const entryPoint = _entryPoint || videoCollectionV2EntrypointFixture
16
+ const shopGID = entryPointParams?.shopGID || MINIS_SANDBOX_SHOP_GID
17
+
18
+ const shoppableVideos = useMemo(() => {
19
+ const collectionItems =
20
+ entryPoint?.type === 'VIDEO_COLLECTION_V2'
21
+ ? entryPoint.collectionItems
22
+ : []
23
+ return mapEntryPointCollectionItemsToShoppableVideos(collectionItems)
24
+ }, [entryPoint])
25
+
26
+ return <ShoppableVideos items={shoppableVideos} shopId={shopGID} />
27
+ }
28
+
29
+ function mapEntryPointCollectionItemsToShoppableVideos(
30
+ collectionItems: VideoCollectionV2EntryPointItem[]
31
+ ) {
32
+ return collectionItems.map(item => ({
33
+ externalId: item.externalId,
34
+ videoUrl: item.video.embeddedUrl,
35
+ fallbackImageUrl: item.fallbackImage.url,
36
+ relatedProductsIds: item.relatedProducts.map(
37
+ relatedProduct => relatedProduct.productId
38
+ ),
39
+ }))
40
+ }
41
+ `;
42
+ //# sourceMappingURL=App-before.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App-before.js","sourceRoot":"","sources":["../../../../../../src/commands/codemod/releases/v0-0-93/shoppable-videos/App-before.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC1C,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ReleaseUpgradeFileExports } from './types.js';
2
+ declare const exports: ReleaseUpgradeFileExports;
3
+ export default exports;
@@ -0,0 +1,48 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { SemVer } from 'semver';
4
+ import { blankAppTsxBefore, blankAppTsxAfter, shoppablePostsAppTsxBefore, shoppablePostsAppTsxAfter, shoppableVideosAppTsxBefore, shoppableVideosAppTsxAfter, } from './v0-0-93/index.js';
5
+ /**
6
+ * Update the templates to use SafeAreaView correctly
7
+ *
8
+ * Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.92...v0.0.93
9
+ */
10
+ async function applyUpgrade() {
11
+ const existingAppTsxPath = path.join(process.cwd(), 'src', 'App.tsx');
12
+ let existingAppTsxContent = null;
13
+ let newAppTsxContent = null;
14
+ try {
15
+ existingAppTsxContent = await readFile(existingAppTsxPath, {
16
+ encoding: 'utf-8',
17
+ });
18
+ }
19
+ catch (error) {
20
+ // If the App.tsx file doesn't exist or is unreadable for some reason, we don't need to do anything
21
+ return;
22
+ }
23
+ // Only apply the upgrade if the App.tsx file is still one of the old templates
24
+ if (existingAppTsxContent === blankAppTsxBefore) {
25
+ newAppTsxContent = blankAppTsxAfter;
26
+ }
27
+ else if (existingAppTsxContent === shoppablePostsAppTsxBefore) {
28
+ newAppTsxContent = shoppablePostsAppTsxAfter;
29
+ }
30
+ else if (existingAppTsxContent === shoppableVideosAppTsxBefore) {
31
+ newAppTsxContent = shoppableVideosAppTsxAfter;
32
+ }
33
+ if (newAppTsxContent) {
34
+ await writeFile(existingAppTsxPath, newAppTsxContent, {
35
+ encoding: 'utf-8',
36
+ });
37
+ }
38
+ }
39
+ const releaseNotes = [
40
+ 'Ensure the templates use SafeAreaView correctly',
41
+ ];
42
+ const exports = {
43
+ releaseNotes,
44
+ applyUpgrade,
45
+ version: new SemVer('0.0.93'),
46
+ };
47
+ export default exports;
48
+ //# sourceMappingURL=v0-0-93.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v0-0-93.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-93.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;AAG7B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAA;AAE3B;;;;GAIG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACrE,IAAI,qBAAqB,GAAG,IAAI,CAAA;IAChC,IAAI,gBAAgB,GAAG,IAAI,CAAA;IAE3B,IAAI;QACF,qBAAqB,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE;YACzD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;KACH;IAAC,OAAO,KAAK,EAAE;QACd,mGAAmG;QACnG,OAAM;KACP;IAED,+EAA+E;IAC/E,IAAI,qBAAqB,KAAK,iBAAiB,EAAE;QAC/C,gBAAgB,GAAG,gBAAgB,CAAA;KACpC;SAAM,IAAI,qBAAqB,KAAK,0BAA0B,EAAE;QAC/D,gBAAgB,GAAG,yBAAyB,CAAA;KAC7C;SAAM,IAAI,qBAAqB,KAAK,2BAA2B,EAAE;QAChE,gBAAgB,GAAG,0BAA0B,CAAA;KAC9C;IAED,IAAI,gBAAgB,EAAE;QACpB,MAAM,SAAS,CAAC,kBAAkB,EAAE,gBAAgB,EAAE;YACpD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;KACH;AACH,CAAC;AAED,MAAM,YAAY,GAAa;IAC7B,iDAAiD;CAClD,CAAA;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;CAC9B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import open from 'open';
3
3
  import ora from 'ora';
4
+ import _ from 'lodash';
4
5
  import { getMiniManifest } from '../../../utils/minis-manifest.js';
5
6
  import { androidHomeExists } from '../../config.js';
6
7
  import { maybeLaunchEmulator, promptForAndroidDevices } from './android.js';
@@ -20,7 +21,8 @@ export class InteractiveTerminal {
20
21
  options;
21
22
  _loading;
22
23
  constructor(options) {
23
- this.miniHandle = getMiniManifest().handle;
24
+ const manifest = getMiniManifest();
25
+ this.miniHandle = manifest.handle || _.kebabCase(manifest.name);
24
26
  this.options = options;
25
27
  }
26
28
  startWaitingForCommand = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-terminal.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/interactive-terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactive-terminal.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/interactive-terminal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,GAAU,MAAM,KAAK,CAAA;AAC5B,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAA;AAEhE,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAC,mBAAmB,EAAE,uBAAuB,EAAC,MAAM,cAAc,CAAA;AACzE,OAAO,EAAC,YAAY,EAAE,WAAW,EAAC,MAAM,eAAe,CAAA;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAA;AACxC,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAC,kBAAkB,EAAC,MAAM,oCAAoC,CAAA;AAErE,MAAM,EAAC,KAAK,EAAC,GAAG,OAAO,CAAA;AAEvB,SAAS,aAAa;IACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,MAAM,GAAG,QAAQ,CAAA;AAEvB,MAAM,OAAO,mBAAmB;IAC9B,UAAU,CAAQ;IAClB,OAAO,CAAmB;IAC1B,QAAQ,CAAM;IAEd,YAAY,OAA0B;QACpC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAA;QAClC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,sBAAsB,GAAG,GAAG,EAAE;QAC5B,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YACrB,OAAO,CAAC,IAAI,CACV,sFAAsF,CACvF,CAAA;YACD,OAAM;SACP;QACD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACtB,KAAK,CAAC,MAAM,EAAE,CAAA;QACd,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAA;IAC9C,CAAC,CAAA;IAED,qBAAqB,GAAG,GAAG,EAAE;QAC3B,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACxD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YACrB,OAAO,CAAC,IAAI,CACV,sFAAsF,CACvF,CAAA;YACD,OAAM;SACP;QACD,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACvB,KAAK,CAAC,MAAM,EAAE,CAAA;IAChB,CAAC,CAAA;IAED,iCAAiC,GAAG,KAAK,IAAI,EAAE;QAC7C,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;QAC3C,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAC5B,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YACrB,OAAO,CAAC,IAAI,CACV,sFAAsF,CACvF,CAAA;YACD,OAAM;SACP;QACD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACtB,KAAK,CAAC,MAAM,EAAE,CAAA;QACd,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CACjC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YAC9B,IAAI,CAAC,eAAe,EAAE,CAAA;YACtB,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAA;IAED,eAAe;QACb,OAAO,CAAC,GAAG,CACT,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;UAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CACnD,CAAA;QACD,OAAO,CAAC,GAAG,CACT,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAC1B,GAAG,CACJ;UACG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4CAA4C,CACrE,CAAA;QACD,OAAO,CAAC,GAAG,CACT,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;KAClC,CACA,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,IAAI,CAAC,sBAAsB,EAAE,CAAA;IAC/B,CAAC;IAED,qBAAqB,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;QAC5C,IAAI;YACF,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAC5B,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;SAC/B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAA;YAC5D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SACjB;gBAAS;YACR,IAAI,CAAC,sBAAsB,EAAE,CAAA;SAC9B;IACH,CAAC,CAAA;IAED,YAAY,CACV,UAAkB,EAClB,UAGI,EAAE;QAEN,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,UAAU,CACb,OAAO,CAAC,4BAA4B,EACpC,OAAO,CAAC,6BAA6B,CACtC,CAAA;SACF;QAED,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC,KAAK,EAAE,CAAA;IACjD,CAAC;IAED,UAAU,CACR,WAAiD,SAAS,EAC1D,UAAmB;QAEnB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAM;SACP;QAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,cAAc,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;QACrC,QAAQ,GAAG,EAAE;YACX,KAAK,GAAG,CAAC,CAAC;gBACR,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,MAAK;aACN;YACD,KAAK,GAAG,CAAC,CAAC;gBACR,aAAa,EAAE,CAAA;gBAEf,IAAI,CAAC,iBAAiB,EAAE,EAAE;oBACxB,IAAI,CAAC,gCAAgC,EAAE,CAAA;oBACvC,MAAK;iBACN;gBAED,MAAM,MAAM,GAAG,MAAM,uBAAuB,EAAE,CAAA;gBAC9C,IAAI,MAAM,EAAE;oBACV,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;wBAC9B,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAA;wBACvC,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;wBACzD,IAAI,CAAC,UAAU,EAAE;4BACf,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,4BAA4B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;4BAClE,MAAK;yBACN;wBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;qBAClD;yBAAM;wBACL,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;qBACnD;iBACF;qBAAM;oBACL,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;oBAC/D,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAC9B,gEAAgE,CACjE,kEAAkE,CACpE,CAAA;oBACD,OAAO,CAAC,GAAG,CACT,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAC7B,+DAA+D,CAChE,iDAAiD,CACnD,CAAA;oBACD,IAAI,CAAC,iCAAiC,EAAE,CAAA;iBACzC;gBAED,MAAK;aACN;YACD,KAAK,GAAG,CAAC,CAAC;gBACR,aAAa,EAAE,CAAA;gBACf,MAAM,SAAS,GAAG,MAAM,kBAAkB,EAAE,CAAA;gBAC5C,IAAI,SAAS,EAAE;oBACb,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAA;oBACxC,MAAM,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;oBACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;iBAClD;qBAAM;oBACL,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;iBAC7C;gBACD,MAAK;aACN;YACD,KAAK,GAAG,CAAC,CAAC;gBACR,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;gBAChC,MAAK;aACN;YACD,KAAK,GAAG,CAAC,CAAC;gBACR,yIAAyI;gBACzI,8KAA8K;gBAC9K,MAAM,SAAS,GAAG;oBAChB,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;oBACrC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;iBAC3D,CAAA;gBAED,MAAM,YAAY,GAAG,IAAI,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAA;gBAEpE,IAAI,CAAC,GAAG,kBAAkB,GAAG,YAAY,EAAE,CAAC,CAAA;gBAC5C,MAAK;aACN;YACD,KAAK,MAAM,CAAC,CAAC;gBACX,IAAI,CAAC,qBAAqB,EAAE,CAAA;gBAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACf,aAAa;gBACb,MAAK;aACN;YACD,OAAO,CAAC,CAAC;gBACP,MAAK;aACN;SACF;IACH,CAAC,CAAA;IAED,KAAK,CAAC,gCAAgC;QACpC,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,GAAG,CACP,yJAAyJ,CAC1J,CACF,CAAA;QACD,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAC9B,6DAA6D,CAC9D,EAAE,CACJ,CAAA;QACD,MAAM,IAAI,CAAC,iCAAiC,EAAE,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjB,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;QACnE,OAAO,CAAC,GAAG,CACT,6FAA6F,CAC9F,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAkB,EAAE,QAAgB;QACzD,IAAI;YACF,MAAM,QAAQ,CACZ;gBACE,QAAQ;gBACR,QAAQ;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBACjC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;aAC9C,EACD,IAAI,CAAC,eAAe,CACrB,CAAA;SACF;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,CAAA;SAC/D;IACH,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,IAAY,eAAe;QACzB,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,eAAe,EAAE,CAAC,IAAY,EAAE,EAAE;gBAChC,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;iBAC1B;YACH,CAAC;SACF,CAAA;IACH,CAAC;CACF"}
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.91",
7
+ "version": "0.0.93",
8
8
  "description": "Shop Minis CLI",
9
9
  "main": "build/index.js",
10
10
  "bin": {
@@ -1,11 +1,13 @@
1
+ import {StatusBar} from 'react-native'
1
2
  import {Box, Text, SafeAreaView} from '@shopify/shop-minis-platform-sdk'
2
3
 
3
4
  export function App() {
4
5
  return (
5
- <SafeAreaView style={{flex: 1}}>
6
- <Box flex={1} padding="m" backgroundColor="backgrounds-regular">
6
+ <Box flex={1} backgroundColor="backgrounds-regular">
7
+ <StatusBar barStyle="dark-content" />
8
+ <SafeAreaView style={{flex: 1, justifyContent: 'center'}}>
7
9
  <Text textAlign="center">Fill in the blank</Text>
8
- </Box>
9
- </SafeAreaView>
10
+ </SafeAreaView>
11
+ </Box>
10
12
  )
11
13
  }
@@ -1,38 +1,5 @@
1
- // Note: This file is only used for the development mode. Changes made here will not be
2
- // reflected in published/production mode mini apps
3
- import {AppRegistry} from 'react-native'
4
- import '@shopify/shop-minis-platform-sdk/src/utils/registerNativeModules'
5
- import {useNativeEventEmitterShopActions} from '@shopify/shop-minis-platform-sdk'
6
- import {Wrapper} from '@shopify/shop-minis-platform-sdk/src/components/Wrapper'
7
- import {ShopActionsProvider} from '@shopify/shop-minis-platform-sdk/actions'
1
+ import {renderDevelopmentMini} from '@shopify/shop-minis-runtime/src/utils/renderDevelopmentMini'
8
2
 
9
3
  import MiniApp from './src'
10
4
 
11
- AppRegistry.registerComponent(
12
- 'ShopMinis',
13
- () =>
14
- ({
15
- initialApiKeys,
16
- apiHeaders,
17
- entryPoint = null,
18
- entryPointParams = null,
19
- environment,
20
- }: any) => {
21
- const actions = useNativeEventEmitterShopActions()
22
-
23
- return (
24
- <ShopActionsProvider value={actions}>
25
- <Wrapper
26
- initialApiKeys={initialApiKeys}
27
- apiHeaders={apiHeaders}
28
- entryPoint={entryPoint}
29
- entryPointParams={entryPointParams}
30
- environment={environment}
31
- enableApiSandbox
32
- >
33
- <MiniApp.Root />
34
- </Wrapper>
35
- </ShopActionsProvider>
36
- )
37
- }
38
- )
5
+ renderDevelopmentMini(MiniApp.Root, {enableApiSandbox: true})
@@ -1,11 +1,14 @@
1
+ import {useMemo} from 'react'
2
+ import {StatusBar} from 'react-native'
1
3
  import {
2
4
  ImageCollectionV2EntryPointItem,
3
5
  ShoppablePosts,
4
6
  useMinisParams,
5
7
  imageCollectionV2EntrypointFixture,
6
8
  MINIS_SANDBOX_SHOP_GID,
9
+ SafeAreaView,
10
+ Box,
7
11
  } from '@shopify/shop-minis-platform-sdk'
8
- import {useMemo} from 'react'
9
12
 
10
13
  export function App() {
11
14
  const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()
@@ -23,7 +26,14 @@ export function App() {
23
26
  return mapEntryPointCollectionItemsToShoppablePosts(collectionItems)
24
27
  }, [entryPoint])
25
28
 
26
- return <ShoppablePosts items={shoppablePosts} shopId={shopGID} />
29
+ return (
30
+ <Box backgroundColor="backgrounds-regular" flex={1}>
31
+ <StatusBar barStyle="dark-content" />
32
+ <SafeAreaView style={{flex: 1}}>
33
+ <ShoppablePosts items={shoppablePosts} shopId={shopGID} />
34
+ </SafeAreaView>
35
+ </Box>
36
+ )
27
37
  }
28
38
 
29
39
  function mapEntryPointCollectionItemsToShoppablePosts(
@@ -1,11 +1,13 @@
1
+ import {useMemo} from 'react'
2
+ import {StatusBar} from 'react-native'
1
3
  import {
2
4
  ShoppableVideos,
3
5
  VideoCollectionV2EntryPointItem,
4
6
  useMinisParams,
5
7
  videoCollectionV2EntrypointFixture,
6
8
  MINIS_SANDBOX_SHOP_GID,
9
+ Box,
7
10
  } from '@shopify/shop-minis-platform-sdk'
8
- import {useMemo} from 'react'
9
11
 
10
12
  export function App() {
11
13
  const {entryPointParams, entryPoint: _entryPoint} = useMinisParams()
@@ -23,7 +25,12 @@ export function App() {
23
25
  return mapEntryPointCollectionItemsToShoppableVideos(collectionItems)
24
26
  }, [entryPoint])
25
27
 
26
- return <ShoppableVideos items={shoppableVideos} shopId={shopGID} />
28
+ return (
29
+ <Box backgroundColor="foregrounds-contrasting-inverted" flex={1}>
30
+ <StatusBar barStyle="light-content" />
31
+ <ShoppableVideos items={shoppableVideos} shopId={shopGID} />
32
+ </Box>
33
+ )
27
34
  }
28
35
 
29
36
  function mapEntryPointCollectionItemsToShoppableVideos(
@@ -1 +0,0 @@
1
- export declare function replaceAllImports(): Promise<void>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"replace-imports.js","sourceRoot":"","sources":["../../../../../src/commands/codemod/releases/v0-0-91/replace-imports.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"v0-0-91.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-91.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;AAG7B,OAAO,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAA;AAE9D;;;;;;GAMG;AACH,KAAK,UAAU,YAAY;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAA;QACtE,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAC1D,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;QAEzD,YAAY,CAAC,QAAQ,GAAG,CAAC,mBAAmB,CAAC,CAAA;QAE7C,MAAM,SAAS,CACb,gBAAgB,EAChB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAC5C;YACE,QAAQ,EAAE,OAAO;SAClB,CACF,CAAA;KACF;IAED,MAAM,iBAAiB,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,YAAY,GAAa;IAC7B,2CAA2C;IAC3C,gFAAgF;CACjF,CAAA;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY;IACZ,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;CAC9B,CAAA;AAED,eAAe,OAAO,CAAA"}