@shopify/shop-minis-cli 0.0.117 → 0.0.118-alpha.1
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/dev/index.d.ts +1 -0
- package/build/commands/dev/index.js +2 -0
- package/build/commands/dev/index.js.map +1 -1
- package/build/commands/generate-graphql-types/index.js +2 -96
- package/build/commands/generate-graphql-types/index.js.map +1 -1
- package/build/commands/generate-graphql-types/utils/generate-graphql-types.d.ts +2 -0
- package/build/commands/generate-graphql-types/utils/generate-graphql-types.js +97 -0
- package/build/commands/generate-graphql-types/utils/generate-graphql-types.js.map +1 -0
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@ import { maybeApplyPatches } from '../../utils/patch-package.js';
|
|
|
9
9
|
import { getInvalidDependencies } from '../doctor/utils/diagnose-dependencies.js';
|
|
10
10
|
import { getRunBinCommand } from '../../utils/package-manager.js';
|
|
11
11
|
import { getMiniExtensions } from '../../utils/extensions.js';
|
|
12
|
+
import { generateGraphQLTypes } from '../generate-graphql-types/utils/generate-graphql-types.js';
|
|
12
13
|
import { InteractiveTerminal } from './utils/interactive-terminal.js';
|
|
13
14
|
import { runMetro } from './utils/metro/metro-server.js';
|
|
14
15
|
import { BuildType } from './utils/types.js';
|
|
@@ -39,6 +40,7 @@ export async function loadCommand(parentProgram) {
|
|
|
39
40
|
const interactiveTerminal = new InteractiveTerminal(options, miniHandle ?? _.kebabCase(miniName) // newly created minis do not have a handle, we fallback to the name instead.
|
|
40
41
|
);
|
|
41
42
|
interactiveTerminal.start();
|
|
43
|
+
generateGraphQLTypes({ verbose: options.verbose, watch: true });
|
|
42
44
|
}
|
|
43
45
|
catch (err) {
|
|
44
46
|
delete err.stack; // delete the stack to avoid a verbose error in case the manifest file does not exist
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,UAAU,MAAM,aAAa,CAAA;AACpC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,6BAA6B,CAAA;AAClE,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAC,sBAAsB,EAAC,MAAM,0CAA0C,CAAA;AAC/E,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import { execSync } from 'node:child_process';
|
|
2
|
-
import { createRequire } from 'node:module';
|
|
3
2
|
import chalk from 'chalk';
|
|
4
3
|
import { Command } from 'commander';
|
|
5
|
-
import { GraphQLConfig } from 'graphql-config';
|
|
6
|
-
import { PRODUCT_PAGE_EXTENSION_TARGETS, ORDER_PAGE_EXTENSION_TARGETS, } from '../../constants/extensions.js';
|
|
7
4
|
import { getMiniManifest } from '../../utils/minis-manifest.js';
|
|
8
5
|
import { getRunBinCommand } from '../../utils/package-manager.js';
|
|
9
6
|
import { maybeApplyPatches } from '../../utils/patch-package.js';
|
|
10
|
-
|
|
11
|
-
// TODO: this way of requiring libraries loses the types
|
|
12
|
-
// https://github.com/Shopify/shop-minis-cli/issues/191
|
|
13
|
-
const { Builder, ExportFormat } = createRequire(import.meta.url)('graphql-typescript-definitions');
|
|
7
|
+
import { generateGraphQLTypes } from './utils/generate-graphql-types.js';
|
|
14
8
|
export function loadCommand(parentProgram) {
|
|
15
9
|
const command = new Command()
|
|
16
10
|
.name('generate-graphql-types')
|
|
@@ -30,97 +24,9 @@ export function loadCommand(parentProgram) {
|
|
|
30
24
|
});
|
|
31
25
|
return;
|
|
32
26
|
}
|
|
33
|
-
const miniDir = process.cwd();
|
|
34
27
|
const miniName = getMiniManifest().name;
|
|
35
28
|
console.log('Generating graphql types for', chalk.green(miniName), '\n');
|
|
36
|
-
|
|
37
|
-
const schemaTypesPathConfig = 'node_modules/@shopify/shop-minis-platform-sdk/api/types';
|
|
38
|
-
const config = new GraphQLConfig({
|
|
39
|
-
config: {
|
|
40
|
-
projects: {
|
|
41
|
-
default: {
|
|
42
|
-
schemaPath: 'node_modules/@shopify/shop-minis-runtime/src/api/schema/minis.graphql',
|
|
43
|
-
includes: [`**/*.graphql`],
|
|
44
|
-
excludes: ['node_modules/**', 'src/targets/**'],
|
|
45
|
-
extensions: {
|
|
46
|
-
schemaTypesPath: schemaTypesPathConfig,
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
product: {
|
|
50
|
-
schemaPath: 'node_modules/@shopify/shop-minis-runtime/src/api/schema/product.graphql',
|
|
51
|
-
includes: PRODUCT_PAGE_EXTENSION_TARGETS.map(target => `src/targets/${target}/**/*.graphql`),
|
|
52
|
-
excludes: ['node_modules/**'],
|
|
53
|
-
extensions: {
|
|
54
|
-
schemaTypesPath: schemaTypesPathConfig,
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
order: {
|
|
58
|
-
schemaPath: 'node_modules/@shopify/shop-minis-runtime/src/api/schema/order.graphql',
|
|
59
|
-
includes: ORDER_PAGE_EXTENSION_TARGETS.map(target => `src/targets/${target}/**/*.graphql`),
|
|
60
|
-
excludes: ['node_modules/**'],
|
|
61
|
-
extensions: {
|
|
62
|
-
schemaTypesPath: schemaTypesPathConfig,
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
filepath: '',
|
|
68
|
-
}, []);
|
|
69
|
-
const builderOptions = {
|
|
70
|
-
cwd: miniDir,
|
|
71
|
-
addTypename: true,
|
|
72
|
-
schemaTypesPath: schemaTypesPathConfig,
|
|
73
|
-
exportFormat: ExportFormat.DocumentWithTypedDocumentNode,
|
|
74
|
-
// @ts-expect-error this happens because typescript is loading the same definition of GraphQLConfig from different places
|
|
75
|
-
config,
|
|
76
|
-
};
|
|
77
|
-
const builder = new Builder(builderOptions);
|
|
78
|
-
const schemas = [];
|
|
79
|
-
const docs = [];
|
|
80
|
-
const builtColor = chalk.inverse.bold.green(' BUILT ');
|
|
81
|
-
const errorColor = chalk.inverse.bold.red(' ERROR ');
|
|
82
|
-
builder.on('start:docs', () => {
|
|
83
|
-
docs.length = 0;
|
|
84
|
-
});
|
|
85
|
-
builder.on('start:schema', () => {
|
|
86
|
-
schemas.length = 0;
|
|
87
|
-
});
|
|
88
|
-
builder.on('build:docs', (doc) => {
|
|
89
|
-
docs.push(doc);
|
|
90
|
-
});
|
|
91
|
-
builder.on('build:schema', (schema) => {
|
|
92
|
-
schemas.push(schema);
|
|
93
|
-
});
|
|
94
|
-
builder.on('end:docs', () => {
|
|
95
|
-
docs
|
|
96
|
-
.sort(({ documentPath: documentPathA }, { documentPath: documentPathB }) => documentPathA.localeCompare(documentPathB))
|
|
97
|
-
.forEach(({ documentPath, definitionPath }) => {
|
|
98
|
-
// Make the paths a bit nicer to look at by removing all the path up to the mini's dir
|
|
99
|
-
const trimmedDocumentPath = documentPath.replace(miniDir, '');
|
|
100
|
-
const trimmedDefinitionPath = definitionPath.replace(miniDir, '');
|
|
101
|
-
console.log(`${builtColor} ${chalk.dim(trimmedDocumentPath)} → ${trimmedDefinitionPath}`);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
builder.on('end:schema', () => {
|
|
105
|
-
// It would be good if there was a way to get `graphql-typescript-definitions` to not build the schema types
|
|
106
|
-
// but instead we will just ignore it and not tell the user what happened
|
|
107
|
-
});
|
|
108
|
-
builder.on('error', (error) => {
|
|
109
|
-
console.log(`${errorColor} ${error.message}`);
|
|
110
|
-
if (error.stack) {
|
|
111
|
-
console.log(chalk.dim(error.stack));
|
|
112
|
-
}
|
|
113
|
-
console.log();
|
|
114
|
-
if (!options.watch) {
|
|
115
|
-
process.exit(1);
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
process.on('unhandledRejection', () => {
|
|
119
|
-
// In watch mode you cannot catch more than one error `graphql-typescript-definitions` will
|
|
120
|
-
// cause an `unhandledRejection` error. We should just exit
|
|
121
|
-
process.exit(1);
|
|
122
|
-
});
|
|
123
|
-
builder.run({ watch: Boolean(options.watch) });
|
|
29
|
+
generateGraphQLTypes(options);
|
|
124
30
|
});
|
|
125
31
|
parentProgram.addCommand(command);
|
|
126
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/generate-graphql-types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/generate-graphql-types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAA;AAE3C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAA;AAE9D,OAAO,EAAC,oBAAoB,EAAC,MAAM,mCAAmC,CAAA;AAOtE,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,wBAAwB,CAAC;SAC9B,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;SACtC,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,OAA2C,EAAE,EAAE;QAC5D,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAA,CAAC,0EAA0E;QACrH,iHAAiH;QACjH,IACE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAC9B,SAAS,CAAC,UAAU,CAAC,gCAAgC,CAAC,CACvD,EACD;YACA,MAAM,IAAI,GAAG;gBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;gBAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;aACpC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACV,QAAQ,CACN,MAAM,gBAAgB,CAAC,qCAAqC,IAAI,EAAE,CAAC,EACnE;gBACE,KAAK,EAAE,SAAS;aACjB,CACF,CAAA;YACD,OAAM;SACP;QAED,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC,IAAI,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;QAExE,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEJ,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { GraphQLConfig } from 'graphql-config';
|
|
4
|
+
import { PRODUCT_PAGE_EXTENSION_TARGETS, ORDER_PAGE_EXTENSION_TARGETS, } from '../../../constants/extensions.js';
|
|
5
|
+
const { Builder, ExportFormat } = createRequire(import.meta.url)('graphql-typescript-definitions');
|
|
6
|
+
export function generateGraphQLTypes(options) {
|
|
7
|
+
const miniDir = process.cwd();
|
|
8
|
+
// All of the paths below are relative to `miniDir` and refer to dependencies of the mini app itself
|
|
9
|
+
const schemaTypesPathConfig = 'node_modules/@shopify/shop-minis-platform-sdk/api/types';
|
|
10
|
+
const config = new GraphQLConfig({
|
|
11
|
+
config: {
|
|
12
|
+
projects: {
|
|
13
|
+
default: {
|
|
14
|
+
schemaPath: 'node_modules/@shopify/shop-minis-runtime/src/api/schema/minis.graphql',
|
|
15
|
+
includes: [`**/*.graphql`],
|
|
16
|
+
excludes: ['node_modules/**', 'src/targets/**'],
|
|
17
|
+
extensions: {
|
|
18
|
+
schemaTypesPath: schemaTypesPathConfig,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
product: {
|
|
22
|
+
schemaPath: 'node_modules/@shopify/shop-minis-runtime/src/api/schema/product.graphql',
|
|
23
|
+
includes: PRODUCT_PAGE_EXTENSION_TARGETS.map(target => `src/targets/${target}/**/*.graphql`),
|
|
24
|
+
excludes: ['node_modules/**'],
|
|
25
|
+
extensions: {
|
|
26
|
+
schemaTypesPath: schemaTypesPathConfig,
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
order: {
|
|
30
|
+
schemaPath: 'node_modules/@shopify/shop-minis-runtime/src/api/schema/order.graphql',
|
|
31
|
+
includes: ORDER_PAGE_EXTENSION_TARGETS.map(target => `src/targets/${target}/**/*.graphql`),
|
|
32
|
+
excludes: ['node_modules/**'],
|
|
33
|
+
extensions: {
|
|
34
|
+
schemaTypesPath: schemaTypesPathConfig,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
filepath: '',
|
|
40
|
+
}, []);
|
|
41
|
+
const builderOptions = {
|
|
42
|
+
cwd: miniDir,
|
|
43
|
+
addTypename: true,
|
|
44
|
+
schemaTypesPath: schemaTypesPathConfig,
|
|
45
|
+
exportFormat: ExportFormat.DocumentWithTypedDocumentNode,
|
|
46
|
+
// @ts-expect-error this happens because typescript is loading the same definition of GraphQLConfig from different places
|
|
47
|
+
config,
|
|
48
|
+
};
|
|
49
|
+
const builder = new Builder(builderOptions);
|
|
50
|
+
const schemas = [];
|
|
51
|
+
const docs = [];
|
|
52
|
+
const builtColor = chalk.inverse.bold.green(' BUILT ');
|
|
53
|
+
const errorColor = chalk.inverse.bold.red(' ERROR ');
|
|
54
|
+
builder.on('start:docs', () => {
|
|
55
|
+
docs.length = 0;
|
|
56
|
+
});
|
|
57
|
+
builder.on('start:schema', () => {
|
|
58
|
+
schemas.length = 0;
|
|
59
|
+
});
|
|
60
|
+
builder.on('build:docs', (doc) => {
|
|
61
|
+
docs.push(doc);
|
|
62
|
+
});
|
|
63
|
+
builder.on('build:schema', (schema) => {
|
|
64
|
+
schemas.push(schema);
|
|
65
|
+
});
|
|
66
|
+
builder.on('end:docs', () => {
|
|
67
|
+
docs
|
|
68
|
+
.sort(({ documentPath: documentPathA }, { documentPath: documentPathB }) => documentPathA.localeCompare(documentPathB))
|
|
69
|
+
.forEach(({ documentPath, definitionPath }) => {
|
|
70
|
+
// Make the paths a bit nicer to look at by removing all the path up to the mini's dir
|
|
71
|
+
const trimmedDocumentPath = documentPath.replace(miniDir, '');
|
|
72
|
+
const trimmedDefinitionPath = definitionPath.replace(miniDir, '');
|
|
73
|
+
console.log(`${builtColor} ${chalk.dim(trimmedDocumentPath)} → ${trimmedDefinitionPath}`);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
builder.on('end:schema', () => {
|
|
77
|
+
// It would be good if there was a way to get `graphql-typescript-definitions` to not build the schema types
|
|
78
|
+
// but instead we will just ignore it and not tell the user what happened
|
|
79
|
+
});
|
|
80
|
+
builder.on('error', (error) => {
|
|
81
|
+
console.log(`${errorColor} ${error.message}`);
|
|
82
|
+
if (error.stack) {
|
|
83
|
+
console.log(chalk.dim(error.stack));
|
|
84
|
+
}
|
|
85
|
+
console.log();
|
|
86
|
+
if (!options.watch) {
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
process.on('unhandledRejection', () => {
|
|
91
|
+
// In watch mode you cannot catch more than one error `graphql-typescript-definitions` will
|
|
92
|
+
// cause an `unhandledRejection` error. We should just exit
|
|
93
|
+
process.exit(1);
|
|
94
|
+
});
|
|
95
|
+
builder.run({ watch: Boolean(options.watch) });
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=generate-graphql-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-graphql-types.js","sourceRoot":"","sources":["../../../../src/commands/generate-graphql-types/utils/generate-graphql-types.ts"],"names":[],"mappings":"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"}
|