@shopify/shop-minis-cli 0.0.136 → 0.0.138

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 (51) hide show
  1. package/build/commands/codemod/releases/index.js +2 -0
  2. package/build/commands/codemod/releases/index.js.map +1 -1
  3. package/build/commands/create-extension/index.js +14 -68
  4. package/build/commands/create-extension/index.js.map +1 -1
  5. package/build/commands/create-extension/types.d.ts +2 -1
  6. package/build/commands/create-extension/utils/add-target-to-config.d.ts +1 -1
  7. package/build/commands/create-extension/utils/add-target-to-config.js +2 -15
  8. package/build/commands/create-extension/utils/add-target-to-config.js.map +1 -1
  9. package/build/commands/create-extension/utils/create-extension-files.d.ts +11 -0
  10. package/build/commands/create-extension/utils/create-extension-files.js +96 -0
  11. package/build/commands/create-extension/utils/create-extension-files.js.map +1 -0
  12. package/build/commands/create-extension/utils/format-extension-files.d.ts +1 -0
  13. package/build/commands/create-extension/utils/format-extension-files.js +22 -0
  14. package/build/commands/create-extension/utils/format-extension-files.js.map +1 -0
  15. package/build/commands/create-mini/index.js +60 -65
  16. package/build/commands/create-mini/index.js.map +1 -1
  17. package/build/commands/create-mini/utils/template-app.d.ts +1 -1
  18. package/build/commands/create-mini/utils/template-app.js +2 -3
  19. package/build/commands/create-mini/utils/template-app.js.map +1 -1
  20. package/build/commands/dev/utils/default-screen.d.ts +2 -0
  21. package/build/commands/dev/utils/default-screen.js +171 -0
  22. package/build/commands/dev/utils/default-screen.js.map +1 -0
  23. package/build/commands/dev/utils/interactive-terminal.d.ts +1 -2
  24. package/build/commands/dev/utils/interactive-terminal.js +38 -12
  25. package/build/commands/dev/utils/interactive-terminal.js.map +1 -1
  26. package/build/commands/open-default-screen/index.d.ts +14 -0
  27. package/build/commands/open-default-screen/index.js +101 -0
  28. package/build/commands/open-default-screen/index.js.map +1 -0
  29. package/build/commands/open-default-screen/utils/prompt-deeplink-host.d.ts +6 -0
  30. package/build/commands/open-default-screen/utils/prompt-deeplink-host.js +33 -0
  31. package/build/commands/open-default-screen/utils/prompt-deeplink-host.js.map +1 -0
  32. package/build/commands/submit/submit.js +69 -34
  33. package/build/commands/submit/submit.js.map +1 -1
  34. package/build/commands/submit/utils/request-entry-point-params.js +6 -4
  35. package/build/commands/submit/utils/request-entry-point-params.js.map +1 -1
  36. package/build/commands/submit/validation.d.ts +1 -1
  37. package/build/commands/submit/validation.js +4 -1
  38. package/build/commands/submit/validation.js.map +1 -1
  39. package/build/commands/validate-manifest/index.js +11 -2
  40. package/build/commands/validate-manifest/index.js.map +1 -1
  41. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.d.ts +2 -0
  42. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js +2 -0
  43. package/build/data/types/autogenerated/shop-minis-admin-api/graphql.js.map +1 -1
  44. package/build/index.js +2 -0
  45. package/build/index.js.map +1 -1
  46. package/build/utils/minis-manifest.js +25 -2
  47. package/build/utils/minis-manifest.js.map +1 -1
  48. package/build/utils/package-manager.d.ts +1 -1
  49. package/package.json +3 -3
  50. package/scripts/test-template.ts +1 -1
  51. package/templates/extensions/components/__template_blank/render.tsx +9 -2
@@ -33,6 +33,7 @@ import v0x0x115Upgrade from './v0-0-115.js';
33
33
  import v0x0x121Upgrade from './v0-0-121.js';
34
34
  import v0x0x123Upgrade from './v0-0-123.js';
35
35
  import v0x0x125Upgrade from './v0-0-125.js';
36
+ import v0x0x130Upgrade from './v0-0-130.js';
36
37
  const upgrades = [
37
38
  v0x0x42Upgrade,
38
39
  v0x0x43Upgrade,
@@ -66,6 +67,7 @@ const upgrades = [
66
67
  v0x0x121Upgrade,
67
68
  v0x0x123Upgrade,
68
69
  v0x0x125Upgrade,
70
+ v0x0x130Upgrade,
69
71
  ];
70
72
  // the list of upgrades must be sorted by version. just making sure of it
71
73
  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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"}
@@ -1,87 +1,33 @@
1
1
  import path from 'node:path';
2
- import { AbortError, handler as handleError } from '@shopify/cli-kit/node/error';
3
2
  import { outputDebug } from '@shopify/cli-kit/node/output';
4
- import { renderSelectPrompt, renderSuccess, } from '@shopify/cli-kit/node/ui';
3
+ import { renderSuccess } from '@shopify/cli-kit/node/ui';
5
4
  import { Command, Option } from 'commander';
6
- import { ExtensionTarget } from '../../constants/extensions.js';
5
+ import { ExtensionType } from '../../constants/extensions.js';
7
6
  import { getMiniManifest } from '../../utils/minis-manifest.js';
8
7
  import { getRunBinCommand } from '../../utils/package-manager.js';
9
8
  import { getMiniBasePath } from '../../utils/path.js';
10
- import { DEFAULT_OUTPUT_DIR, EXTENSION_PAGE_CONFIG, EXTENSION_TARGETS_WITH_TEMPLATES, EXTENSION_TARGETS_WITH_TEMPLATES_KEYS, EXTENSION_TYPE_CONFIG, } from './constants.js';
11
- import { addTargetToConfig } from './utils/add-target-to-config.js';
12
- import { createExtensionFromTemplate } from './utils/create-from-template.js';
13
- function isExtensionTarget(value) {
14
- return Object.values(ExtensionTarget).includes(value);
15
- }
9
+ import { DEFAULT_OUTPUT_DIR, EXTENSION_TARGETS_WITH_TEMPLATES_KEYS, } from './constants.js';
10
+ import { formatExtensionFiles } from './utils/format-extension-files.js';
11
+ import { createExtensionFiles } from './utils/create-extension-files.js';
16
12
  export function loadCommand(parentProgram) {
17
13
  const command = new Command()
18
14
  .name('create-extension')
19
15
  .description('Add an extension to your mini')
20
16
  .addOption(new Option('--target <extension target>', 'the location of the extension').choices(EXTENSION_TARGETS_WITH_TEMPLATES_KEYS))
17
+ .addOption(new Option('--type <extension type>', 'the type of the extension').choices(Object.values(ExtensionType)))
21
18
  .option('--silent')
22
19
  .option('--verbose', 'print debugging messages') // compatible with cli-kit
23
20
  .action(async (args) => {
24
21
  outputDebug(`create-extension args ${JSON.stringify(args)}`);
25
22
  const manifest = getMiniManifest();
26
23
  const resolvedOutputDir = path.resolve(getMiniBasePath(), DEFAULT_OUTPUT_DIR);
27
- let target = isExtensionTarget(args.target)
28
- ? args.target
29
- : null;
30
- if (!target || !EXTENSION_TARGETS_WITH_TEMPLATES[target]) {
31
- if (Object.keys(EXTENSION_TARGETS_WITH_TEMPLATES).length > 1) {
32
- target = (await renderSelectPrompt({
33
- message: 'Select the extension target where your Mini will be shown',
34
- choices: Object.entries(EXTENSION_TARGETS_WITH_TEMPLATES).map(([key, { label }]) => ({
35
- label,
36
- value: key,
37
- })),
38
- }));
39
- }
40
- else {
41
- target = Object.keys(EXTENSION_TARGETS_WITH_TEMPLATES)[0];
42
- }
43
- }
44
- const targetConfig = EXTENSION_TARGETS_WITH_TEMPLATES[target];
45
- const possibleExtensionTypes = EXTENSION_PAGE_CONFIG[targetConfig.page].templates;
46
- let extensionType = possibleExtensionTypes[0];
47
- if (possibleExtensionTypes.length > 1) {
48
- extensionType = (await renderSelectPrompt({
49
- message: 'Select the type of extension you want to create',
50
- choices: possibleExtensionTypes.map(type => ({
51
- label: EXTENSION_TYPE_CONFIG[type].label,
52
- value: type,
53
- })),
54
- }));
55
- }
56
- outputDebug(`create-extension target: "${target}", type: "${extensionType}", output: ${resolvedOutputDir}`);
57
- let configUpdated = false;
58
- const errors = [];
59
- try {
60
- await createExtensionFromTemplate(manifest.name, targetConfig.page, target, extensionType, resolvedOutputDir);
61
- }
62
- catch (error) {
63
- // If we fail here there's no point continuing
64
- handleError(error);
65
- return process.exit(1);
66
- }
67
- try {
68
- await addTargetToConfig(target);
69
- configUpdated = true;
70
- }
71
- catch (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}`, [
74
- [
75
- 'Manually add your new',
76
- {
77
- command: target,
78
- },
79
- 'extension to your mini config file',
80
- ],
81
- ]));
82
- }
83
- const completedFully = errors.length === 0;
84
- errors.forEach(handleError);
24
+ const { configUpdated, completedFully, target } = await createExtensionFiles({
25
+ miniName: manifest.name,
26
+ specifiedTarget: args.target,
27
+ specifiedType: args.type,
28
+ miniOutputDir: getMiniBasePath(),
29
+ });
30
+ await formatExtensionFiles(getMiniBasePath());
85
31
  const nextSteps = [
86
32
  [
87
33
  'To start your mini with your new extension, run:\n',
@@ -114,7 +60,7 @@ export function loadCommand(parentProgram) {
114
60
  },
115
61
  },
116
62
  ],
117
- nextSteps: args.silent ? [] : nextSteps,
63
+ nextSteps,
118
64
  });
119
65
  });
120
66
  parentProgram.addCommand(command);
@@ -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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"}
@@ -5,7 +5,8 @@ export declare enum ExtensionPage {
5
5
  ORDER_MANAGEMENT_PAGE = "order-management-page"
6
6
  }
7
7
  export interface CreateExtensionCommandArgs {
8
- target: string;
8
+ target?: string;
9
+ type?: string;
9
10
  outputDir: string;
10
11
  silent?: boolean;
11
12
  verbose?: boolean;
@@ -1,2 +1,2 @@
1
1
  import { ExtensionTarget } from '../../../constants/extensions.js';
2
- export declare function addTargetToConfig(target: ExtensionTarget): Promise<void>;
2
+ export declare function addTargetToConfig(target: ExtensionTarget, miniBasePath: string): Promise<void>;
@@ -3,9 +3,6 @@ import path from 'node:path';
3
3
  import { outputDebug } from '@shopify/cli-kit/node/output';
4
4
  import _ from 'lodash';
5
5
  import { ensureImportOf, ensureObjectProperty, findObjectExpression, j, } from '../../../utils/codemod.js';
6
- import { execAsync } from '../../../utils/exec-async-child-process.js';
7
- import { getRunBinCommand } from '../../../utils/package-manager.js';
8
- import { getMiniBasePath } from '../../../utils/path.js';
9
6
  const runCodemod = (fileContents, target) => {
10
7
  const root = j(fileContents);
11
8
  const importName = _.startCase(target).replace(/ /g, '').replace(/^Shop/g, '');
@@ -33,8 +30,8 @@ const runCodemod = (fileContents, target) => {
33
30
  });
34
31
  return root.toSource();
35
32
  };
36
- export async function addTargetToConfig(target) {
37
- const configFilePath = path.join(getMiniBasePath(), 'src', 'index.tsx');
33
+ export async function addTargetToConfig(target, miniBasePath) {
34
+ const configFilePath = path.join(miniBasePath, 'src', 'index.tsx');
38
35
  outputDebug(`Adding ${target} target to ${configFilePath}`);
39
36
  const configFile = await readFile(configFilePath, 'utf8');
40
37
  if (!configFile || !configFile.includes('MiniAppConfig')) {
@@ -47,15 +44,5 @@ export async function addTargetToConfig(target) {
47
44
  }
48
45
  outputDebug(`Saving changes to ${configFilePath}`);
49
46
  await writeFile(configFilePath, result, 'utf8');
50
- const prettierCmd = await getRunBinCommand(`prettier -w ${configFilePath}`);
51
- outputDebug(`Running ${prettierCmd}`);
52
- await execAsync({
53
- cmd: prettierCmd,
54
- });
55
- const eslintCmd = await getRunBinCommand(`eslint ${configFilePath} --fix`);
56
- outputDebug(`Running ${eslintCmd}`);
57
- await execAsync({
58
- cmd: eslintCmd,
59
- });
60
47
  }
61
48
  //# sourceMappingURL=add-target-to-config.js.map
@@ -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":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AACpD,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,CAAC,MAAM,QAAQ,CAAA;AAGtB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,CAAC,GACF,MAAM,2BAA2B,CAAA;AAElC,MAAM,UAAU,GAAG,CAAC,YAAoB,EAAE,MAAuB,EAAE,EAAE;IACnE,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAA;IAE5B,MAAM,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAC9E,MAAM,UAAU,GAAG,aAAa,MAAM,SAAS,CAAA;IAC/C,MAAM,kBAAkB,GAAG,QAAQ,CAAA;IAEnC,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAEzD,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;KAChD;IAED,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAA;IAEhE,MAAM,aAAa,GAAG,oBAAoB,CAAC;QACzC,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;KACrC,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAA;IACxC,IAAI,YAAY,CAAC,IAAI,KAAK,kBAAkB,EAAE;QAC5C,MAAM,IAAI,KAAK,CACb,mEAAmE,YAAY,CAAC,IAAI,EAAE,CACvF,CAAA;KACF;IAED,oBAAoB,CAAC;QACnB,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE,MAAM;QACX,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;QACtC,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IAEF,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuB,EACvB,YAAoB;IAEpB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IAElE,WAAW,CAAC,UAAU,MAAM,cAAc,cAAc,EAAE,CAAC,CAAA;IAE3D,MAAM,UAAU,GAAW,MAAM,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;IAEjE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,6BAA6B,cAAc,EAAE,CAAC,CAAA;KAC/D;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAE7C,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,WAAW,CAAC,sBAAsB,cAAc,EAAE,CAAC,CAAA;QACnD,OAAM;KACP;IAED,WAAW,CAAC,qBAAqB,cAAc,EAAE,CAAC,CAAA;IAElD,MAAM,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AACjD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { ExtensionTarget } from '../../../constants/extensions.js';
2
+ export declare function createExtensionFiles({ miniName, specifiedTarget, specifiedType, miniOutputDir, }: {
3
+ miniName: string;
4
+ specifiedTarget?: string;
5
+ specifiedType?: string;
6
+ miniOutputDir: string;
7
+ }): Promise<{
8
+ configUpdated: boolean;
9
+ completedFully: boolean;
10
+ target: ExtensionTarget;
11
+ }>;
@@ -0,0 +1,96 @@
1
+ import path from 'node:path';
2
+ import { AbortError, handler as handleError } from '@shopify/cli-kit/node/error';
3
+ import { outputDebug, outputWarn } from '@shopify/cli-kit/node/output';
4
+ import { renderSelectPrompt } from '@shopify/cli-kit/node/ui';
5
+ import { ExtensionTarget } from '../../../constants/extensions.js';
6
+ import { DEFAULT_OUTPUT_DIR, EXTENSION_PAGE_CONFIG, EXTENSION_TARGETS_WITH_TEMPLATES, EXTENSION_TYPE_CONFIG, } from '../constants.js';
7
+ import { addTargetToConfig } from '../utils/add-target-to-config.js';
8
+ import { createExtensionFromTemplate } from '../utils/create-from-template.js';
9
+ function isExtensionTarget(value) {
10
+ return Object.values(ExtensionTarget).includes(value);
11
+ }
12
+ function getExtensionType(value, possibleExtensionTypes) {
13
+ const extensionType = possibleExtensionTypes.find(type => type === value);
14
+ if (!extensionType) {
15
+ return null;
16
+ }
17
+ return extensionType;
18
+ }
19
+ export async function createExtensionFiles({ miniName, specifiedTarget, specifiedType, miniOutputDir, }) {
20
+ let target = isExtensionTarget(specifiedTarget)
21
+ ? specifiedTarget
22
+ : null;
23
+ if (!target || !EXTENSION_TARGETS_WITH_TEMPLATES[target]) {
24
+ if (Object.keys(EXTENSION_TARGETS_WITH_TEMPLATES).length > 1) {
25
+ target = (await renderSelectPrompt({
26
+ message: 'Select the extension target where your Mini will be shown. You can check more details here: https://shop.app/minis/docs/extensions/introduction/#steps',
27
+ choices: Object.entries(EXTENSION_TARGETS_WITH_TEMPLATES).map(([key, { label }]) => ({
28
+ label,
29
+ value: key,
30
+ })),
31
+ }));
32
+ }
33
+ else {
34
+ target = Object.keys(EXTENSION_TARGETS_WITH_TEMPLATES)[0];
35
+ }
36
+ }
37
+ const targetConfig = EXTENSION_TARGETS_WITH_TEMPLATES[target];
38
+ const possibleExtensionTypes = EXTENSION_PAGE_CONFIG[targetConfig.page].templates;
39
+ let extensionType = getExtensionType(specifiedType, possibleExtensionTypes);
40
+ const specifiedTypeIsValid = Boolean(extensionType);
41
+ if (specifiedType && !specifiedTypeIsValid) {
42
+ outputWarn('The specified extension type is not available for this target, please choose a new one.');
43
+ }
44
+ if (!specifiedTypeIsValid) {
45
+ extensionType = possibleExtensionTypes[0];
46
+ }
47
+ if (!specifiedTypeIsValid && possibleExtensionTypes.length > 1) {
48
+ extensionType = (await renderSelectPrompt({
49
+ message: 'Select the type of extension you want to create',
50
+ choices: possibleExtensionTypes.map(type => ({
51
+ label: EXTENSION_TYPE_CONFIG[type].label,
52
+ value: type,
53
+ })),
54
+ }));
55
+ }
56
+ if (!extensionType) {
57
+ // This should never happen but it helps with typechecking
58
+ return process.exit(1);
59
+ }
60
+ const resolvedOutputDir = path.resolve(miniOutputDir, DEFAULT_OUTPUT_DIR);
61
+ outputDebug(`create-extension target: "${target}", type: "${extensionType}", output: ${resolvedOutputDir}`);
62
+ let configUpdated = false;
63
+ const errors = [];
64
+ try {
65
+ await createExtensionFromTemplate(miniName, targetConfig.page, target, extensionType, resolvedOutputDir);
66
+ }
67
+ catch (error) {
68
+ // If we fail here there's no point continuing
69
+ handleError(error);
70
+ return process.exit(1);
71
+ }
72
+ try {
73
+ await addTargetToConfig(target, miniOutputDir);
74
+ configUpdated = true;
75
+ }
76
+ catch (error) {
77
+ // We can continue at this point with extra instructions for fixing this manually
78
+ errors.push(new AbortError('Could not automatically link your new extension', `Failed to update your mini config: ${error}`, [
79
+ [
80
+ 'Manually add your new',
81
+ {
82
+ command: target,
83
+ },
84
+ 'extension to your mini config file',
85
+ ],
86
+ ]));
87
+ }
88
+ const completedFully = errors.length === 0;
89
+ errors.forEach(handleError);
90
+ return {
91
+ configUpdated,
92
+ completedFully,
93
+ target,
94
+ };
95
+ }
96
+ //# sourceMappingURL=create-extension-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-extension-files.js","sourceRoot":"","sources":["../../../../src/commands/create-extension/utils/create-extension-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function formatExtensionFiles(miniBasePath: string): Promise<void>;
@@ -0,0 +1,22 @@
1
+ import path from 'path';
2
+ import { outputDebug } from '@shopify/cli-kit/node/output';
3
+ import { execAsync } from '../../../utils/exec-async-child-process.js';
4
+ import { getRunBinCommand } from '../../../utils/package-manager.js';
5
+ export async function formatExtensionFiles(miniBasePath) {
6
+ const configFilePath = path.join(miniBasePath, 'src', 'index.tsx');
7
+ const prettierCmd = await getRunBinCommand(`prettier -w ${configFilePath}`);
8
+ outputDebug(`Running ${prettierCmd}`);
9
+ await execAsync({
10
+ cmd: prettierCmd,
11
+ }, {
12
+ cwd: miniBasePath,
13
+ });
14
+ const eslintCmd = await getRunBinCommand(`eslint ${configFilePath} --fix`);
15
+ outputDebug(`Running ${eslintCmd}`);
16
+ await execAsync({
17
+ cmd: eslintCmd,
18
+ }, {
19
+ cwd: miniBasePath,
20
+ });
21
+ }
22
+ //# sourceMappingURL=format-extension-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-extension-files.js","sourceRoot":"","sources":["../../../../src/commands/create-extension/utils/format-extension-files.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAC,SAAS,EAAC,MAAM,4CAA4C,CAAA;AACpE,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAA;AAElE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,YAAoB;IAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IAClE,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,eAAe,cAAc,EAAE,CAAC,CAAA;IAC3E,WAAW,CAAC,WAAW,WAAW,EAAE,CAAC,CAAA;IAErC,MAAM,SAAS,CACb;QACE,GAAG,EAAE,WAAW;KACjB,EACD;QACE,GAAG,EAAE,YAAY;KAClB,CACF,CAAA;IAED,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,UAAU,cAAc,QAAQ,CAAC,CAAA;IAC1E,WAAW,CAAC,WAAW,SAAS,EAAE,CAAC,CAAA;IAEnC,MAAM,SAAS,CACb;QACE,GAAG,EAAE,SAAS;KACf,EACD;QACE,GAAG,EAAE,YAAY;KAClB,CACF,CAAA;AACH,CAAC"}
@@ -1,15 +1,19 @@
1
1
  import { existsSync } from 'fs';
2
2
  import path from 'path';
3
3
  import { execSync } from 'child_process';
4
+ import { renderSelectPrompt, renderTasks, renderTextPrompt, } from '@shopify/cli-kit/node/ui';
5
+ import { outputWarn } from '@shopify/cli-kit/node/output';
4
6
  import { packageManagerFromUserAgent } from '@shopify/cli-kit/node/node-package-manager';
5
7
  import { Command, Option } from 'commander';
6
- import prompts from 'prompts';
7
8
  import chalk from 'chalk';
8
9
  import _ from 'lodash';
10
+ import { copy } from 'fs-extra';
9
11
  import { execAsync } from '../../utils/exec-async-child-process.js';
10
- import { wrapWithLoadingIndicator } from '../../utils/wrap-with-loading-indicator.js';
11
12
  import { TEMPLATES, TEMPLATE_VALUES } from '../../templates-index.js';
12
- import { getRunBinCommand } from '../../utils/package-manager.js';
13
+ import { formatExtensionFiles } from '../create-extension/utils/format-extension-files.js';
14
+ import { EXTENSION_TARGETS_WITH_TEMPLATES } from '../create-extension/constants.js';
15
+ import { ExtensionType } from '../../constants/extensions.js';
16
+ import { createExtensionFiles } from '../create-extension/utils/create-extension-files.js';
13
17
  import { generateMiniFromTemplate } from './utils/template-app.js';
14
18
  function logSuccess(miniName, outputDir, miniDir, useYarn) {
15
19
  console.log(`\n \nShop Mini`, chalk.green.bold(`${miniName}`), 'created. Next steps:\n');
@@ -26,44 +30,6 @@ function logSuccess(miniName, outputDir, miniDir, useYarn) {
26
30
  chalk.cyan.underline.bold('https://shop.app/minis/docs/'));
27
31
  console.log(chalk.dim(' Shop Minis documentation.\n \n'));
28
32
  }
29
- async function promptUser(miniNameArg, templateNameArg) {
30
- const questions = [];
31
- if (!miniNameArg) {
32
- questions.push({
33
- type: 'text',
34
- name: 'miniName',
35
- validate: value => {
36
- if (!value) {
37
- return 'The Mini name is required';
38
- }
39
- return true;
40
- },
41
- message: `Give your Shop Mini a name. ${chalk.dim('You can change it later.\n')}`,
42
- });
43
- }
44
- if (!templateNameArg || !TEMPLATE_VALUES.includes(templateNameArg)) {
45
- // TODO: add some logs if the template name was wrong and explain why we are still prompting for selection
46
- questions.push({
47
- type: 'select',
48
- name: 'templateName',
49
- message: 'Select a template',
50
- choices: TEMPLATES,
51
- initial: 0,
52
- });
53
- }
54
- if (!questions.length) {
55
- return { miniName: miniNameArg, templateName: templateNameArg };
56
- }
57
- const onCancel = () => {
58
- console.log('\nShop Mini creation stopped at your request. Name not saved.\n');
59
- process.exit(0);
60
- };
61
- const response = await prompts.prompt(questions, { onCancel });
62
- return {
63
- miniName: miniNameArg || response.miniName,
64
- templateName: response.templateName,
65
- };
66
- }
67
33
  export function loadCommand(parentProgram) {
68
34
  const command = new Command()
69
35
  .name('create')
@@ -73,7 +39,10 @@ export function loadCommand(parentProgram) {
73
39
  .option('--useYarn', '(deprecated) Use yarn as package manager instead of npm')
74
40
  .option('--alphaMinisRuntime', 'use the alpha tag of @shopify/shop-minis-runtime. uses the latest tag by default')
75
41
  .option('--alphaMinisSDK', 'use the alpha tag of @shopify/shop-minis-platform-sdk. uses the latest tag by default')
42
+ .option('--skip-create-extension', 'skip the create extension step')
76
43
  .addOption(new Option('--template <template name>', 'name of the template to use').choices(TEMPLATE_VALUES))
44
+ .addOption(new Option('--extension-target <extension target name>', 'name of the extension target to use').choices(Object.keys(EXTENSION_TARGETS_WITH_TEMPLATES)))
45
+ .addOption(new Option('--extension-type <extension type name>', 'name of the extension type to create').choices(Object.values(ExtensionType)))
77
46
  .option('--output-dir <path>', 'Specify an output directory for the mini')
78
47
  .action(async (miniNameArg, options = {}) => {
79
48
  const currentDirectoryName = path.basename(process.cwd());
@@ -85,13 +54,58 @@ export function loadCommand(parentProgram) {
85
54
  console.error(`Unable to create a mini at the specified output dir of ${outputDir}`);
86
55
  process.exit(1);
87
56
  }
57
+ let miniName;
58
+ let templateName;
88
59
  try {
89
- const { miniName, templateName } = await promptUser(miniNameArg, options.template);
60
+ if (miniNameArg) {
61
+ miniName = miniNameArg;
62
+ }
63
+ else {
64
+ miniName = await renderTextPrompt({
65
+ message: `Give your Shop Mini a name. ${chalk.dim('You can change it later.')}`,
66
+ });
67
+ }
68
+ if (options.template && TEMPLATE_VALUES.includes(options.template)) {
69
+ templateName = options.template;
70
+ }
71
+ else {
72
+ if (options.template) {
73
+ outputWarn(`Template ${options.template} not found. Please select a valid template.`);
74
+ }
75
+ templateName = await renderSelectPrompt({
76
+ message: 'Select a template',
77
+ choices: TEMPLATES.map(template => ({
78
+ label: template.title,
79
+ value: template.value,
80
+ })),
81
+ infoTable: TEMPLATES.map(template => ({
82
+ header: template.title,
83
+ helperText: template.description,
84
+ items: [],
85
+ })),
86
+ });
87
+ }
90
88
  const miniDir = _.kebabCase(miniName);
91
- await wrapWithLoadingIndicator(generateMiniFromTemplate(miniName, templateName, outputDir, miniDir, options.alphaMinisRuntime, options.alphaMinisSDK), {
92
- loadingMessage: 'Fetching template...',
93
- successMessage: 'Template fetched',
89
+ const miniDirPath = path.resolve(outputDir, miniDir);
90
+ let miniTmpDirPath;
91
+ await renderTasks([
92
+ {
93
+ title: 'Fetching template',
94
+ task: async () => {
95
+ miniTmpDirPath = await generateMiniFromTemplate(miniName, templateName, miniDir, options.alphaMinisRuntime, options.alphaMinisSDK);
96
+ },
97
+ },
98
+ ]);
99
+ if (!miniTmpDirPath) {
100
+ process.exit(1);
101
+ }
102
+ await createExtensionFiles({
103
+ miniName,
104
+ specifiedTarget: options.extensionTarget,
105
+ specifiedType: options.extensionType,
106
+ miniOutputDir: miniTmpDirPath,
94
107
  });
108
+ await copy(miniTmpDirPath, miniDirPath);
95
109
  const useYarn = packageManagerFromUserAgent() === 'yarn';
96
110
  // Yarn is ignoring the `resolutions` when you install
97
111
  // via `yarn create @shopify/shop-mini` so use `--ignore-engines` to work around the
@@ -99,32 +113,13 @@ export function loadCommand(parentProgram) {
99
113
  // npm fails to install for a similar reason on node 15 but runs fine so we will
100
114
  // use `--force` to get everything installed
101
115
  const installCmd = useYarn ? 'yarn --ignore-engines' : 'npm i --force';
102
- const miniDirPath = path.resolve(outputDir, miniDir);
103
116
  await execAsync({
104
117
  cmd: installCmd,
105
118
  loadingMessage: 'Installing dependencies. This might take a minute...',
106
119
  successMessage: 'Dependencies installed',
107
120
  }, { cwd: miniDirPath });
108
121
  execSync(`${useYarn ? 'yarn' : 'npx'} patch-package --patch-dir node_modules/@shopify/shop-minis-runtime/patches`, { cwd: miniDirPath });
109
- const createExtensionCommand = await getRunBinCommand('shop-minis create-extension');
110
- const silentCreateExtensionCommand = await getRunBinCommand('shop-minis create-extension --silent');
111
- const onCancel = async () => {
112
- console.log(`\nTo create an extension in the future, run ${createExtensionCommand}\n`);
113
- logSuccess(miniName, outputDir, miniDir, useYarn);
114
- process.exit(0);
115
- };
116
- const { createExtension } = await prompts.prompt({
117
- type: 'confirm',
118
- name: 'createExtension',
119
- message: 'Would you like to create an extension for this Shop Mini?',
120
- }, { onCancel });
121
- if (!createExtension) {
122
- onCancel();
123
- }
124
- execSync(silentCreateExtensionCommand, {
125
- cwd: miniDirPath,
126
- stdio: 'inherit',
127
- });
122
+ await formatExtensionFiles(miniDirPath);
128
123
  logSuccess(miniName, outputDir, miniDir, useYarn);
129
124
  }
130
125
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/create-mini/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/create-mini/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare function generateMiniFromTemplate(name: string, templateName: string, outputDir: string | undefined, miniDir: string, useAlphaRuntime?: boolean, useAlphaSDK?: boolean): Promise<void>;
1
+ export declare function generateMiniFromTemplate(name: string, templateName: string, miniDir: string, useAlphaRuntime?: boolean, useAlphaSDK?: boolean): Promise<string>;
@@ -9,10 +9,9 @@ import { replaceStringsInTemplate } from '../../../utils/replace-strings-in-temp
9
9
  import { execAsync } from '../../../utils/exec-async-child-process.js';
10
10
  import { getPackageAlphaVersionCommand, getPackageLatestVersionCommand, } from '../../../utils/package-manager.js';
11
11
  const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
12
- export async function generateMiniFromTemplate(name, templateName, outputDir = '.', miniDir, useAlphaRuntime, useAlphaSDK) {
12
+ export async function generateMiniFromTemplate(name, templateName, miniDir, useAlphaRuntime, useAlphaSDK) {
13
13
  const tmpDir = await mkdtemp(path.join(os.tmpdir(), `${miniDir}-`));
14
14
  const miniTemplateDir = await path.join(__dirname, '../../../../templates', `__template_${templateName}`);
15
- const miniDestinationDir = path.resolve(process.cwd(), outputDir, miniDir);
16
15
  const stringsToReplace = {
17
16
  __MINI_APP_NAME__: name,
18
17
  __MINI_APP_NAME_PASCAL_CASE__: _.startCase(miniDir).replace(/ /g, ''),
@@ -27,7 +26,7 @@ export async function generateMiniFromTemplate(name, templateName, outputDir = '
27
26
  await copy(miniTemplateDir, tmpDir);
28
27
  await move(path.join(tmpDir, 'gitignore'), path.join(tmpDir, '.gitignore'));
29
28
  await replaceStringsInTemplate(tmpDir, stringsToReplace);
30
- await copy(tmpDir, miniDestinationDir);
29
+ return tmpDir;
31
30
  }
32
31
  async function fetchPackageVersion(packageName, fallbackVersion, alpha = false) {
33
32
  try {