@shopify/shop-minis-cli 0.0.105 → 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.
- package/build/commands/codemod/releases/index.js +2 -0
- package/build/commands/codemod/releases/index.js.map +1 -1
- package/build/commands/codemod/releases/v0-0-106.d.ts +3 -0
- package/build/commands/codemod/releases/v0-0-106.js +32 -0
- package/build/commands/codemod/releases/v0-0-106.js.map +1 -0
- package/build/commands/create-extension/constants.d.ts +0 -4
- package/build/commands/create-extension/constants.js +1 -5
- package/build/commands/create-extension/constants.js.map +1 -1
- package/build/commands/create-extension/index.js +60 -19
- package/build/commands/create-extension/index.js.map +1 -1
- package/build/commands/create-extension/utils/add-target-to-config.js +1 -2
- package/build/commands/create-extension/utils/add-target-to-config.js.map +1 -1
- package/build/commands/create-extension/utils/create-from-template.d.ts +2 -1
- package/build/commands/create-extension/utils/create-from-template.js +23 -7
- package/build/commands/create-extension/utils/create-from-template.js.map +1 -1
- package/build/utils/codemod.d.ts +2 -1
- package/build/utils/codemod.js +12 -2
- package/build/utils/codemod.js.map +1 -1
- package/package.json +2 -2
- package/templates/__template_common/package.json +2 -1
- package/templates/extensions/{__template_product-page.above-variants-picker+bundle-selector → components/__template_bundle-selector}/render.tsx +3 -2
- package/templates/extensions/queries/__template_product-page/input.graphql +6 -0
- package/templates/extensions/queries/__template_product-page/input.graphql.d.ts +26 -0
- package/templates/extensions/__template_product-page.above-variants-picker+bundle-selector/input.graphql +0 -6
- package/templates/extensions/__template_product-page.above-variants-picker+bundle-selector/input.graphql.d.ts +0 -26
- package/templates/extensions/{__template_product-page.above-variants-picker+bundle-selector → components/__template_bundle-selector}/seed.ts +1 -1
|
@@ -27,6 +27,7 @@ import v0x0x97Upgrade from './v0-0-97/index.js';
|
|
|
27
27
|
import v0x0x100Upgrade from './v0-0-100.js';
|
|
28
28
|
import v0x0x103Upgrade from './v0-0-103.js';
|
|
29
29
|
import v0x0x105Upgrade from './v0-0-105.js';
|
|
30
|
+
import v0x0x106Upgrade from './v0-0-106.js';
|
|
30
31
|
const upgrades = [
|
|
31
32
|
v0x0x42Upgrade,
|
|
32
33
|
v0x0x43Upgrade,
|
|
@@ -54,6 +55,7 @@ const upgrades = [
|
|
|
54
55
|
v0x0x100Upgrade,
|
|
55
56
|
v0x0x103Upgrade,
|
|
56
57
|
v0x0x105Upgrade,
|
|
58
|
+
v0x0x106Upgrade,
|
|
57
59
|
];
|
|
58
60
|
// the list of upgrades must be sorted by version. just making sure of it
|
|
59
61
|
upgrades.sort(({ version: upgradeVersion1 }, { version: upgradeVersion2 }) => semverGreaterThan(upgradeVersion1, upgradeVersion2) ? 1 : -1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { SemVer } from 'semver';
|
|
4
|
+
/**
|
|
5
|
+
* Add graphql resolution in package.json
|
|
6
|
+
*
|
|
7
|
+
* Diff: https://github.com/Shopify/shop-minis-cli/compare/v0.0.105...v0.0.106
|
|
8
|
+
*/
|
|
9
|
+
async function applyUpgrade() {
|
|
10
|
+
const packageJsonPath = path.join(process.cwd(), 'package.json');
|
|
11
|
+
const packageJsonString = await readFile(packageJsonPath, {
|
|
12
|
+
encoding: 'utf-8',
|
|
13
|
+
});
|
|
14
|
+
const packageJson = JSON.parse(packageJsonString) || {};
|
|
15
|
+
packageJson.resolutions ||= {};
|
|
16
|
+
packageJson.resolutions = {
|
|
17
|
+
...packageJson.resolutions,
|
|
18
|
+
graphql: '15.8.0',
|
|
19
|
+
};
|
|
20
|
+
// persist updated package.json
|
|
21
|
+
await writeFile(packageJsonPath, `${JSON.stringify(packageJson, null, 2)}\n`, // keep the new line at the end of the file
|
|
22
|
+
{
|
|
23
|
+
encoding: 'utf-8',
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
const exports = {
|
|
27
|
+
releaseNotes: ['Adds graphql resolution to package.json'],
|
|
28
|
+
applyUpgrade,
|
|
29
|
+
version: new SemVer('0.0.106'),
|
|
30
|
+
};
|
|
31
|
+
export default exports;
|
|
32
|
+
//# sourceMappingURL=v0-0-106.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v0-0-106.js","sourceRoot":"","sources":["../../../../src/commands/codemod/releases/v0-0-106.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;;;;GAIG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;IAChE,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE;QACxD,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAA;IAEvD,WAAW,CAAC,WAAW,KAAK,EAAE,CAAA;IAC9B,WAAW,CAAC,WAAW,GAAG;QACxB,GAAG,WAAW,CAAC,WAAW;QAC1B,OAAO,EAAE,QAAQ;KAClB,CAAA;IAED,+BAA+B;IAC/B,MAAM,SAAS,CACb,eAAe,EACf,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,2CAA2C;IACxF;QACE,QAAQ,EAAE,OAAO;KAClB,CACF,CAAA;AACH,CAAC;AAED,MAAM,OAAO,GAA8B;IACzC,YAAY,EAAE,CAAC,yCAAyC,CAAC;IACzD,YAAY;IACZ,OAAO,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC;CAC/B,CAAA;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -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 -
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
101
|
-
|
|
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":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,UAAU,EAAE,OAAO,IAAI,WAAW,EAAC,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,
|
|
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
|
|
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":"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;AAClC,OAAO,EAAC,SAAS,EAAC,MAAM,4CAA4C,CAAA;AACpE,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAA;AAElE,MAAM,UAAU,GAAG,CAAC,YAAoB,EAAE,MAAuB,EAAE,EAAE;IACnE,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAA;IAE5B,MAAM,
|
|
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
|
-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
|
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(
|
|
29
|
+
await stat(extensionQueryTemplateDir);
|
|
21
30
|
}
|
|
22
31
|
catch (_err) {
|
|
23
|
-
throw new Error(`Template not found: ${
|
|
32
|
+
throw new Error(`Template not found: ${extensionQueryTemplateDir}`);
|
|
24
33
|
}
|
|
25
|
-
|
|
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;
|
|
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"}
|
package/build/utils/codemod.d.ts
CHANGED
|
@@ -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
|
|
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
|
*/
|
package/build/utils/codemod.js
CHANGED
|
@@ -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
|
|
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.
|
|
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":"AAAA,OAAO,WAAW,MAAM,aAAa,CAAA;AAErC,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAE9C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAoC,EACpC,UAAkB,EAClB,YAAoB,EACpB,cAAuB,EACvB,EAAE;IACF,MAAM,wBAAwB,GAC5B,IAAI;SACD,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE;QACzB,MAAM,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC;KAC5B,CAAC;SACD,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAEvB,MAAM,gBAAgB,GACpB,wBAAwB,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE;QACvD,IAAI,SAAS,CAAC,IAAI,KAAK,iBAAiB;YAAE,OAAO,KAAK,CAAA;QAEtD,OAAO,cAAc;YACnB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;gBACtC,SAAS,EAAE,KAAK,EAAE,IAAI,KAAK,cAAc;YAC7C,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAA;IAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAEf,OAAO;QACL,SAAS,EAAE,gBAAgB;QAC3B,iBAAiB,EAAE,wBAAwB;KAC5C,CAAA;AACH,CAAC,CAAA;AAED
|
|
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.
|
|
7
|
+
"version": "0.0.107",
|
|
8
8
|
"description": "Shop Minis CLI",
|
|
9
9
|
"main": "build/index.js",
|
|
10
10
|
"bin": {
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"fs-extra": "^11.1.0",
|
|
72
72
|
"glob": "^9.3.2",
|
|
73
73
|
"google-auth-library": "9.8.0",
|
|
74
|
-
"graphql": "
|
|
74
|
+
"graphql": "15.8.0",
|
|
75
75
|
"graphql-config": "^4.3.5",
|
|
76
76
|
"graphql-request": "^5.2.0",
|
|
77
77
|
"graphql-typescript-definitions": "3.3.6",
|
|
@@ -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 {
|
|
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:
|
|
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,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,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;
|