@shopify/shop-minis-cli 0.0.106 → 0.0.107

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 (20) hide show
  1. package/build/commands/create-extension/constants.d.ts +0 -4
  2. package/build/commands/create-extension/constants.js +1 -5
  3. package/build/commands/create-extension/constants.js.map +1 -1
  4. package/build/commands/create-extension/index.js +60 -19
  5. package/build/commands/create-extension/index.js.map +1 -1
  6. package/build/commands/create-extension/utils/add-target-to-config.js +1 -2
  7. package/build/commands/create-extension/utils/add-target-to-config.js.map +1 -1
  8. package/build/commands/create-extension/utils/create-from-template.d.ts +2 -1
  9. package/build/commands/create-extension/utils/create-from-template.js +23 -7
  10. package/build/commands/create-extension/utils/create-from-template.js.map +1 -1
  11. package/build/utils/codemod.d.ts +2 -1
  12. package/build/utils/codemod.js +12 -2
  13. package/build/utils/codemod.js.map +1 -1
  14. package/package.json +1 -1
  15. package/templates/extensions/{__template_shop.product.variants.render-before+bundle-selector → components/__template_bundle-selector}/render.tsx +3 -2
  16. package/templates/extensions/queries/__template_product-page/input.graphql +6 -0
  17. package/templates/extensions/queries/__template_product-page/input.graphql.d.ts +26 -0
  18. package/templates/extensions/__template_shop.product.variants.render-before+bundle-selector/input.graphql +0 -6
  19. package/templates/extensions/__template_shop.product.variants.render-before+bundle-selector/input.graphql.d.ts +0 -26
  20. package/templates/extensions/{__template_shop.product.variants.render-before+bundle-selector → components/__template_bundle-selector}/seed.ts +1 -1
@@ -12,10 +12,6 @@ export declare const EXTENSION_TARGET_CONFIG: {
12
12
  label: string;
13
13
  page: ExtensionPage;
14
14
  };
15
- "store-page": {
16
- label: string;
17
- page: ExtensionPage;
18
- };
19
15
  };
20
16
  export declare const EXTENSION_TARGETS_WITH_TEMPLATES: Record<ExtensionTarget, {
21
17
  label: string;
@@ -23,13 +23,9 @@ export const EXTENSION_PAGE_CONFIG = {
23
23
  };
24
24
  export const EXTENSION_TARGET_CONFIG = {
25
25
  [ExtensionTarget['shop.product.variants.render-before']]: {
26
- label: 'Product Page - Above Variants Picker',
26
+ label: 'Product Page - Before Variants Picker',
27
27
  page: ExtensionPage.PRODUCT_PAGE,
28
28
  },
29
- [ExtensionTarget['store-page']]: {
30
- label: 'Store Page',
31
- page: ExtensionPage.STORE_PAGE,
32
- },
33
29
  };
34
30
  export const EXTENSION_TARGETS_WITH_TEMPLATES = Object.entries(EXTENSION_TARGET_CONFIG).reduce((acc, [key, value]) => {
35
31
  if (EXTENSION_PAGE_CONFIG[value.page].templates.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/commands/create-extension/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,+BAA+B,CAAA;AAE5E,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAA;AAExC,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAA;AAE/C,MAAM,CAAC,MAAM,qBAAqB,GAA2C;IAC3E,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE;QAChC,KAAK,EAAE,kBAAkB;KAC1B;IACD,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE;QAChC,KAAK,EAAE,kBAAkB;KAC1B;IACD,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE;QAC/B,KAAK,EAAE,iBAAiB;KACzB;CACF,CAAA;AAED,oGAAoG;AACpG,MAAM,CAAC,MAAM,qBAAqB,GAG9B;IACF,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;QAC5B,SAAS,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;KAC3C;IACD,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;QAC1B,SAAS,EAAE,EAAE;KACd;CACF,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,CAAC,eAAe,CAAC,qCAAqC,CAAC,CAAC,EAAE;QACxD,KAAK,EAAE,sCAAsC;QAC7C,IAAI,EAAE,aAAa,CAAC,YAAY;KACjC;IACD,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EAAE;QAC/B,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,aAAa,CAAC,UAAU;KAC/B;CAC0E,CAAA;AAE7E,MAAM,CAAC,MAAM,gCAAgC,GAGzC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;IACvE,IAAI,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QAC1D,GAAG,CAAC,GAAsB,CAAC,GAAG,KAAK,CAAA;KACpC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,EAAE,EAAmE,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,qCAAqC,GAAG,MAAM,CAAC,IAAI,CAC9D,gCAAgC,CACZ,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/commands/create-extension/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,+BAA+B,CAAA;AAE5E,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAA;AAExC,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAA;AAE/C,MAAM,CAAC,MAAM,qBAAqB,GAA2C;IAC3E,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE;QAChC,KAAK,EAAE,kBAAkB;KAC1B;IACD,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE;QAChC,KAAK,EAAE,kBAAkB;KAC1B;IACD,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE;QAC/B,KAAK,EAAE,iBAAiB;KACzB;CACF,CAAA;AAED,oGAAoG;AACpG,MAAM,CAAC,MAAM,qBAAqB,GAG9B;IACF,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;QAC5B,SAAS,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;KAC3C;IACD,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;QAC1B,SAAS,EAAE,EAAE;KACd;CACF,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,CAAC,eAAe,CAAC,qCAAqC,CAAC,CAAC,EAAE;QACxD,KAAK,EAAE,uCAAuC;QAC9C,IAAI,EAAE,aAAa,CAAC,YAAY;KACjC;CAC0E,CAAA;AAE7E,MAAM,CAAC,MAAM,gCAAgC,GAGzC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;IACvE,IAAI,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QAC1D,GAAG,CAAC,GAAsB,CAAC,GAAG,KAAK,CAAA;KACpC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,EAAE,EAAmE,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,qCAAqC,GAAG,MAAM,CAAC,IAAI,CAC9D,gCAAgC,CACZ,CAAA"}
@@ -1,10 +1,11 @@
1
1
  import path from 'node:path';
2
2
  import { AbortError, handler as handleError } from '@shopify/cli-kit/node/error';
3
3
  import { outputDebug } from '@shopify/cli-kit/node/output';
4
- import { renderSelectPrompt, renderSuccess } from '@shopify/cli-kit/node/ui';
4
+ import { renderSelectPrompt, renderSuccess, } from '@shopify/cli-kit/node/ui';
5
5
  import { Command, Option } from 'commander';
6
6
  import { ExtensionTarget } from '../../constants/extensions.js';
7
7
  import { getMiniManifest } from '../../utils/minis-manifest.js';
8
+ import { getRunBinCommand } from '../../utils/package-manager.js';
8
9
  import { DEFAULT_OUTPUT_DIR, EXTENSION_PAGE_CONFIG, EXTENSION_TARGETS_WITH_TEMPLATES, EXTENSION_TARGETS_WITH_TEMPLATES_KEYS, EXTENSION_TYPE_CONFIG, } from './constants.js';
9
10
  import { addTargetToConfig } from './utils/add-target-to-config.js';
10
11
  import { createExtensionFromTemplate } from './utils/create-from-template.js';
@@ -52,27 +53,24 @@ export function loadCommand(parentProgram) {
52
53
  }));
53
54
  }
54
55
  outputDebug(`create-extension target: "${target}", type: "${extensionType}", output: ${resolvedOutputDir}`);
56
+ let configUpdated = false;
57
+ let installedUIExtensions = false;
58
+ const errors = [];
55
59
  try {
56
- await createExtensionFromTemplate(manifest.name, target, extensionType, resolvedOutputDir);
57
- renderSuccess({
58
- headline: 'Extension created successfully',
59
- body: [
60
- 'Your extension was created at:',
61
- {
62
- bold: path.relative(process.cwd(), path.join(resolvedOutputDir, target)),
63
- },
64
- ],
65
- });
60
+ await createExtensionFromTemplate(manifest.name, targetConfig.page, target, extensionType, resolvedOutputDir);
66
61
  }
67
62
  catch (error) {
63
+ // If we fail here there's no point continuing
68
64
  handleError(error);
69
65
  return process.exit(1);
70
66
  }
71
67
  try {
72
68
  await addTargetToConfig(target);
69
+ configUpdated = true;
73
70
  }
74
71
  catch (error) {
75
- const wrappedError = new AbortError('Could not automatically link your new extension', `Failed to update your mini config: ${error}`, [
72
+ // We can continue at this point with extra instructions for fixing this manually
73
+ errors.push(new AbortError('Could not automatically link your new extension', `Failed to update your mini config: ${error}`, [
76
74
  [
77
75
  'Manually add your new',
78
76
  {
@@ -80,15 +78,15 @@ export function loadCommand(parentProgram) {
80
78
  },
81
79
  'extension to your mini config file',
82
80
  ],
83
- ]);
84
- handleError(wrappedError);
85
- return process.exit(1);
81
+ ]));
86
82
  }
87
83
  try {
88
84
  await installShopMinisUiExtensions();
85
+ installedUIExtensions = true;
89
86
  }
90
87
  catch (error) {
91
- const wrappedError = new AbortError('Could not install `@shopify/shop-minis-ui-extensions`', `${error}`, [
88
+ // We can continue at this point with extra instructions for fixing this manually
89
+ errors.push(new AbortError('Could not install `@shopify/shop-minis-ui-extensions`', `${error}`, [
92
90
  [
93
91
  'Manually install',
94
92
  {
@@ -96,10 +94,53 @@ export function loadCommand(parentProgram) {
96
94
  },
97
95
  'before trying to run your extension',
98
96
  ],
99
- ]);
100
- handleError(wrappedError);
101
- return process.exit(1);
97
+ ]));
98
+ }
99
+ const completedFully = errors.length === 0;
100
+ errors.forEach(handleError);
101
+ const nextSteps = [
102
+ [
103
+ 'To start your mini with your new extension, run:\n',
104
+ {
105
+ command: await getRunBinCommand(`start --extension-target ${target}`),
106
+ },
107
+ ],
108
+ ];
109
+ if (!completedFully) {
110
+ nextSteps.unshift(['Fix the errors output above']);
102
111
  }
112
+ renderSuccess({
113
+ headline: completedFully
114
+ ? 'Extension created successfully'
115
+ : 'Extension partially created',
116
+ body: [
117
+ {
118
+ list: {
119
+ items: [
120
+ [
121
+ 'Your extension was created at:',
122
+ {
123
+ bold: path.relative(process.cwd(), path.join(resolvedOutputDir, target)),
124
+ },
125
+ ],
126
+ configUpdated
127
+ ? 'Your minis config file was updated'
128
+ : 'Your minis config file could not be updated',
129
+ installedUIExtensions
130
+ ? [
131
+ { bold: '@shopify/shop-minis-ui-extensions' },
132
+ 'was installed',
133
+ ]
134
+ : [
135
+ { bold: '@shopify/shop-minis-ui-extensions' },
136
+ 'could not be installed',
137
+ ],
138
+ ],
139
+ },
140
+ },
141
+ ],
142
+ nextSteps,
143
+ });
103
144
  });
104
145
  parentProgram.addCommand(command, { hidden: true });
105
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/create-extension/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/create-extension/index.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,9 @@ import { execAsync } from '../../../utils/exec-async-child-process.js';
7
7
  import { getRunBinCommand } from '../../../utils/package-manager.js';
8
8
  const runCodemod = (fileContents, target) => {
9
9
  const root = j(fileContents);
10
- const targetPascalCase = _.startCase(target).replace(/ /g, '');
10
+ const importName = _.startCase(target).replace(/ /g, '').replace(/^Shop/g, '');
11
11
  const importPath = `./targets/${target}/render`;
12
12
  const originalImportName = 'Render';
13
- const importName = `RenderIn${targetPascalCase}`;
14
13
  const configObject = findObjectExpression(root, 'config');
15
14
  if (!configObject) {
16
15
  throw new Error('Could not find config object');
@@ -1 +1 @@
1
- {"version":3,"file":"add-target-to-config.js","sourceRoot":"","sources":["../../../../src/commands/create-extension/utils/add-target-to-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-target-to-config.js","sourceRoot":"","sources":["../../../../src/commands/create-extension/utils/add-target-to-config.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  import { ExtensionTarget, ExtensionType } from '../../../constants/extensions.js';
2
- export declare function createExtensionFromTemplate(miniName: string, extensionTarget: ExtensionTarget, extensionType: ExtensionType, outputDir: string): Promise<void>;
2
+ import { ExtensionPage } from '../types.js';
3
+ export declare function createExtensionFromTemplate(miniName: string, extensionPage: ExtensionPage, extensionTarget: ExtensionTarget, extensionType: ExtensionType, outputDir: string): Promise<void>;
@@ -6,23 +6,39 @@ import { copy } from 'fs-extra';
6
6
  import _ from 'lodash';
7
7
  import { replaceStringsInTemplate } from '../../../utils/replace-strings-in-template.js';
8
8
  const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
9
- export async function createExtensionFromTemplate(miniName, extensionTarget, extensionType, outputDir) {
10
- const combinedTemplateName = `${extensionTarget}+${extensionType}`;
11
- const tmpDir = await mkdtemp(path.join(os.tmpdir(), `${combinedTemplateName}-`));
9
+ const queryDataUseExamples = {
10
+ 'product-page': "console.log('Product data from input query:', extensionData?.product)",
11
+ 'store-page': "console.log('Shop data from input query:', extensionData?.shop)",
12
+ };
13
+ export async function createExtensionFromTemplate(miniName, extensionPage, extensionTarget, extensionType, outputDir) {
14
+ const tmpDir = await mkdtemp(path.join(os.tmpdir(), `${extensionPage}-${extensionType}-`));
15
+ const queryName = _.startCase(extensionTarget)
16
+ .replace(/ /g, '')
17
+ .replace(/^Shop/g, '');
12
18
  const templateDir = path.join(__dirname, '../../../../templates/extensions');
13
- const extensionTemplateDir = path.join(templateDir, `__template_${combinedTemplateName}`);
19
+ const extensionQueryTemplateDir = path.join(templateDir, 'queries', `__template_${extensionPage}`);
20
+ const extensionComponentTemplateDir = path.join(templateDir, 'components', `__template_${extensionType}`);
14
21
  const extensionDestinationDir = path.join(outputDir, extensionTarget);
15
22
  const stringsToReplace = {
16
23
  __MINI_APP_NAME_PASCAL_CASE__: _.startCase(miniName).replace(/ /g, ''),
17
24
  __EXTENSION_TARGET_PASCAL_CASE__: _.startCase(extensionTarget).replace(/ /g, ''),
25
+ __QUERY_NAME__: queryName,
26
+ __EXAMPLE_QUERY_DATA_USE__: queryDataUseExamples[extensionPage],
18
27
  };
19
28
  try {
20
- await stat(extensionTemplateDir);
29
+ await stat(extensionQueryTemplateDir);
21
30
  }
22
31
  catch (_err) {
23
- throw new Error(`Template not found: ${extensionTemplateDir}`);
32
+ throw new Error(`Template not found: ${extensionQueryTemplateDir}`);
24
33
  }
25
- await copy(extensionTemplateDir, tmpDir);
34
+ try {
35
+ await stat(extensionComponentTemplateDir);
36
+ }
37
+ catch (_err) {
38
+ throw new Error(`Template not found: ${extensionComponentTemplateDir}`);
39
+ }
40
+ await copy(extensionQueryTemplateDir, tmpDir);
41
+ await copy(extensionComponentTemplateDir, tmpDir);
26
42
  await replaceStringsInTemplate(tmpDir, stringsToReplace);
27
43
  await copy(tmpDir, extensionDestinationDir);
28
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-from-template.js","sourceRoot":"","sources":["../../../../src/commands/create-extension/utils/create-from-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC9C,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAA;AAC7B,OAAO,CAAC,MAAM,QAAQ,CAAA;AAGtB,OAAO,EAAC,wBAAwB,EAAC,MAAM,+CAA+C,CAAA;AAEtF,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAElE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,QAAgB,EAChB,eAAgC,EAChC,aAA4B,EAC5B,SAAiB;IAEjB,MAAM,oBAAoB,GAAG,GAAG,eAAe,IAAI,aAAa,EAAE,CAAA;IAClE,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,oBAAoB,GAAG,CAAC,CACnD,CAAA;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAA;IAC5E,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CACpC,WAAW,EACX,cAAc,oBAAoB,EAAE,CACrC,CAAA;IACD,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IACrE,MAAM,gBAAgB,GAAG;QACvB,6BAA6B,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACtE,gCAAgC,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,OAAO,CACpE,IAAI,EACJ,EAAE,CACH;KACF,CAAA;IAED,IAAI;QACF,MAAM,IAAI,CAAC,oBAAoB,CAAC,CAAA;KACjC;IAAC,OAAO,IAAI,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,oBAAoB,EAAE,CAAC,CAAA;KAC/D;IAED,MAAM,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA;IACxC,MAAM,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACxD,MAAM,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;AAC7C,CAAC"}
1
+ {"version":3,"file":"create-from-template.js","sourceRoot":"","sources":["../../../../src/commands/create-extension/utils/create-from-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC9C,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAA;AAC7B,OAAO,CAAC,MAAM,QAAQ,CAAA;AAGtB,OAAO,EAAC,wBAAwB,EAAC,MAAM,+CAA+C,CAAA;AAGtF,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAElE,MAAM,oBAAoB,GAAkC;IAC1D,cAAc,EACZ,uEAAuE;IACzE,YAAY,EACV,iEAAiE;CACpE,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,QAAgB,EAChB,aAA4B,EAC5B,eAAgC,EAChC,aAA4B,EAC5B,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,aAAa,IAAI,aAAa,GAAG,CAAC,CAC7D,CAAA;IACD,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC;SAC3C,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACxB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAA;IAC5E,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CACzC,WAAW,EACX,SAAS,EACT,cAAc,aAAa,EAAE,CAC9B,CAAA;IACD,MAAM,6BAA6B,GAAG,IAAI,CAAC,IAAI,CAC7C,WAAW,EACX,YAAY,EACZ,cAAc,aAAa,EAAE,CAC9B,CAAA;IACD,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IACrE,MAAM,gBAAgB,GAAG;QACvB,6BAA6B,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACtE,gCAAgC,EAAE,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,OAAO,CACpE,IAAI,EACJ,EAAE,CACH;QACD,cAAc,EAAE,SAAS;QACzB,0BAA0B,EAAE,oBAAoB,CAAC,aAAa,CAAC;KAChE,CAAA;IAED,IAAI;QACF,MAAM,IAAI,CAAC,yBAAyB,CAAC,CAAA;KACtC;IAAC,OAAO,IAAI,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,yBAAyB,EAAE,CAAC,CAAA;KACpE;IAED,IAAI;QACF,MAAM,IAAI,CAAC,6BAA6B,CAAC,CAAA;KAC1C;IAAC,OAAO,IAAI,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,6BAA6B,EAAE,CAAC,CAAA;KACxE;IAED,MAAM,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAA;IAC7C,MAAM,IAAI,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;IACjD,MAAM,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACxD,MAAM,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;AAC7C,CAAC"}
@@ -24,7 +24,8 @@ export declare const findImportOf: (root: ReturnType<typeof jscodeshift>, import
24
24
  /**
25
25
  * Ensure that an import of a module is present in the file
26
26
  *
27
- * If the import is not present, it will be added to the top of the file
27
+ * If the import is not present, it will be added below other imports or
28
+ * to the top of the file if no other imports are found
28
29
  *
29
30
  * Returns the specifier and import declaration nodes that were found, edited or created
30
31
  */
@@ -39,7 +39,8 @@ export const findImportOf = (root, importPath, importedName, importedAsName) =>
39
39
  /**
40
40
  * Ensure that an import of a module is present in the file
41
41
  *
42
- * If the import is not present, it will be added to the top of the file
42
+ * If the import is not present, it will be added below other imports or
43
+ * to the top of the file if no other imports are found
43
44
  *
44
45
  * Returns the specifier and import declaration nodes that were found, edited or created
45
46
  */
@@ -51,7 +52,16 @@ export const ensureImportOf = (root, importPath, importedName, importedAsName) =
51
52
  : j.importSpecifier(j.identifier(importedName));
52
53
  if (!importDeclaration) {
53
54
  importDeclaration = j.importDeclaration([], j.literal(importPath));
54
- root.get().node.program.body.unshift(importDeclaration);
55
+ const existingImports = root.find(j.ImportDeclaration);
56
+ // Put it after the existing imports if possible
57
+ if (existingImports.length > 0) {
58
+ existingImports
59
+ .at(existingImports.length - 1)
60
+ .insertAfter(importDeclaration);
61
+ }
62
+ else {
63
+ root.get().node.program.body.unshift(importDeclaration);
64
+ }
55
65
  }
56
66
  importDeclaration?.specifiers?.push(specifier);
57
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codemod.js","sourceRoot":"","sources":["../../src/utils/codemod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codemod.js","sourceRoot":"","sources":["../../src/utils/codemod.ts"],"names":[],"mappings":"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"}
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.106",
7
+ "version": "0.0.107",
8
8
  "description": "Shop Minis CLI",
9
9
  "main": "build/index.js",
10
10
  "bin": {
@@ -2,7 +2,7 @@ import {ComponentProps, useEffect, useState} from 'react'
2
2
  import {BundleSelector} from '@shopify/shop-minis-ui-extensions'
3
3
  import {useExtensionShopActions} from '@shopify/shop-minis-platform-sdk/actions'
4
4
 
5
- import type {__MINI_APP_NAME_PASCAL_CASE____EXTENSION_TARGET_PASCAL_CASE__ExtensionQueryData as InputData} from './input.graphql'
5
+ import type {__QUERY_NAME__QueryData} from './input.graphql'
6
6
  import seedData from './seed'
7
7
 
8
8
  type BundleSelectorItems = ComponentProps<typeof BundleSelector>['items']
@@ -10,10 +10,11 @@ type BundleSelectorItems = ComponentProps<typeof BundleSelector>['items']
10
10
  export function Render({
11
11
  extensionData,
12
12
  }: {
13
- extensionData: InputData
13
+ extensionData: __QUERY_NAME__QueryData | null
14
14
  }) {
15
15
  // Here we are using seed data to populate the initial state of the bundle selector.
16
16
  // You can replace this with the actual data from `extensionData`
17
+ __EXAMPLE_QUERY_DATA_USE__
17
18
  const initialBundleSelectorItems: BundleSelectorItems = seedData
18
19
  const [bundleSelectorItems, setBundleSelectorItems] = useState(
19
20
  initialBundleSelectorItems
@@ -0,0 +1,6 @@
1
+ query __QUERY_NAME__ {
2
+ product {
3
+ id
4
+ title
5
+ }
6
+ }
@@ -0,0 +1,26 @@
1
+ import { DocumentNode } from "graphql-typed";
2
+ import { TypedDocumentNode } from "@graphql-typed-document-node/core";
3
+ export namespace __QUERY_NAME__QueryPartialData {
4
+ export interface Product {
5
+ __typename?: "Product" | null;
6
+ id?: string | null;
7
+ title?: string | null;
8
+ }
9
+ }
10
+ export interface __QUERY_NAME__QueryPartialData {
11
+ product?: __QUERY_NAME__QueryPartialData.Product | null;
12
+ }
13
+ export namespace __QUERY_NAME__QueryData {
14
+ export interface Product {
15
+ __typename: "Product";
16
+ id: string;
17
+ title: string;
18
+ }
19
+ }
20
+ export interface __QUERY_NAME__QueryData {
21
+ product?: __QUERY_NAME__QueryData.Product | null;
22
+ }
23
+ declare const document: DocumentNode<__QUERY_NAME__QueryData, never, __QUERY_NAME__QueryPartialData> & TypedDocumentNode<__QUERY_NAME__QueryData, {
24
+ [key: string]: never;
25
+ }>;
26
+ export default document;
@@ -1,6 +0,0 @@
1
- query __MINI_APP_NAME_PASCAL_CASE____EXTENSION_TARGET_PASCAL_CASE__Extension {
2
- product {
3
- id
4
- title
5
- }
6
- }
@@ -1,26 +0,0 @@
1
- import { DocumentNode } from "graphql-typed";
2
- import { TypedDocumentNode } from "@graphql-typed-document-node/core";
3
- export namespace __MINI_APP_NAME_PASCAL_CASE____EXTENSION_TARGET_PASCAL_CASE__ExtensionQueryPartialData {
4
- export interface Product {
5
- __typename?: "Product" | null;
6
- id?: string | null;
7
- title?: string | null;
8
- }
9
- }
10
- export interface __MINI_APP_NAME_PASCAL_CASE____EXTENSION_TARGET_PASCAL_CASE__ExtensionQueryPartialData {
11
- product?: __MINI_APP_NAME_PASCAL_CASE____EXTENSION_TARGET_PASCAL_CASE__ExtensionQueryPartialData.Product | null;
12
- }
13
- export namespace __MINI_APP_NAME_PASCAL_CASE____EXTENSION_TARGET_PASCAL_CASE__ExtensionQueryData {
14
- export interface Product {
15
- __typename: "Product";
16
- id: string;
17
- title: string;
18
- }
19
- }
20
- export interface __MINI_APP_NAME_PASCAL_CASE____EXTENSION_TARGET_PASCAL_CASE__ExtensionQueryData {
21
- product?: __MINI_APP_NAME_PASCAL_CASE____EXTENSION_TARGET_PASCAL_CASE__ExtensionQueryData.Product | null;
22
- }
23
- declare const document: DocumentNode<__MINI_APP_NAME_PASCAL_CASE____EXTENSION_TARGET_PASCAL_CASE__ExtensionQueryData, never, __MINI_APP_NAME_PASCAL_CASE____EXTENSION_TARGET_PASCAL_CASE__ExtensionQueryPartialData> & TypedDocumentNode<__MINI_APP_NAME_PASCAL_CASE____EXTENSION_TARGET_PASCAL_CASE__ExtensionQueryData, {
24
- [key: string]: never;
25
- }>;
26
- export default document;
@@ -1,5 +1,5 @@
1
- import {BundleSelector} from '@shopify/shop-minis-ui-extensions'
2
1
  import {ComponentProps} from 'react'
2
+ import {BundleSelector} from '@shopify/shop-minis-ui-extensions'
3
3
 
4
4
  const seedData: ComponentProps<typeof BundleSelector>['items'] = [
5
5
  {