@notambourine/metafields 0.0.7 → 0.2.0
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/README.md +126 -94
- package/dist/admin-shapes.d.ts +57 -0
- package/dist/admin-shapes.d.ts.map +1 -0
- package/dist/admin-shapes.js +67 -0
- package/dist/admin-shapes.js.map +1 -0
- package/dist/admin.d.ts +8 -7
- package/dist/admin.d.ts.map +1 -1
- package/dist/admin.js +116 -126
- package/dist/admin.js.map +1 -1
- package/dist/app-config.d.ts +5 -0
- package/dist/app-config.d.ts.map +1 -0
- package/dist/app-config.js +50 -0
- package/dist/app-config.js.map +1 -0
- package/dist/builders.js +2 -2
- package/dist/builders.js.map +1 -1
- package/dist/changes.d.ts +20 -0
- package/dist/changes.d.ts.map +1 -0
- package/dist/changes.js +85 -0
- package/dist/changes.js.map +1 -0
- package/dist/cli.js +153 -85
- package/dist/cli.js.map +1 -1
- package/dist/doctor.d.ts +16 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +61 -0
- package/dist/doctor.js.map +1 -0
- package/dist/fleet.d.ts +7 -6
- package/dist/fleet.d.ts.map +1 -1
- package/dist/fleet.js +18 -18
- package/dist/fleet.js.map +1 -1
- package/dist/generator.js +1 -1
- package/dist/generator.js.map +1 -1
- package/dist/index.d.ts +12 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/liquid.d.ts.map +1 -1
- package/dist/liquid.js +4 -19
- package/dist/liquid.js.map +1 -1
- package/dist/metafield-types.d.ts +601 -0
- package/dist/metafield-types.d.ts.map +1 -0
- package/dist/metafield-types.js +150 -0
- package/dist/metafield-types.js.map +1 -0
- package/dist/migration.d.ts +3 -2
- package/dist/migration.d.ts.map +1 -1
- package/dist/migration.js +4 -6
- package/dist/migration.js.map +1 -1
- package/dist/planner.d.ts +2 -2
- package/dist/planner.d.ts.map +1 -1
- package/dist/planner.js +5 -3
- package/dist/planner.js.map +1 -1
- package/dist/pull.d.ts.map +1 -1
- package/dist/pull.js +14 -61
- package/dist/pull.js.map +1 -1
- package/dist/references.d.ts +13 -0
- package/dist/references.d.ts.map +1 -0
- package/dist/references.js +69 -0
- package/dist/references.js.map +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +1 -0
- package/dist/schema.js.map +1 -1
- package/dist/type-check.d.ts +14 -0
- package/dist/type-check.d.ts.map +1 -0
- package/dist/type-check.js +61 -0
- package/dist/type-check.js.map +1 -0
- package/dist/type-registry.d.ts +21 -0
- package/dist/type-registry.d.ts.map +1 -0
- package/dist/type-registry.js +48 -0
- package/dist/type-registry.js.map +1 -0
- package/package.json +3 -2
- package/dist/repair.d.ts +0 -16
- package/dist/repair.d.ts.map +0 -1
- package/dist/repair.js +0 -53
- package/dist/repair.js.map +0 -1
package/dist/changes.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export function classifyDrift(plan) {
|
|
2
|
+
const items = [];
|
|
3
|
+
for (const item of plan.items) {
|
|
4
|
+
if (item.status === 'CREATE')
|
|
5
|
+
continue;
|
|
6
|
+
const buckets = { apply: [], force: [], blocked: [] };
|
|
7
|
+
// Labels are safe to rewrite but remain notices, so cosmetic-only drift still exits 0.
|
|
8
|
+
for (const reason of [...item.reasons, ...item.notices])
|
|
9
|
+
buckets[bucketFor(item, reason)].push(reason);
|
|
10
|
+
const entry = { item, applies: buckets.apply, needsForce: buckets.force, blocked: buckets.blocked };
|
|
11
|
+
if (entry.applies.length + entry.needsForce.length + entry.blocked.length > 0)
|
|
12
|
+
items.push(entry);
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
items,
|
|
16
|
+
applies: items.filter((entry) => writes(entry, false)).length,
|
|
17
|
+
needsForce: items.filter((entry) => !writes(entry, false) && writes(entry, true)).length,
|
|
18
|
+
blocked: items.filter((entry) => entry.blocked.length > 0).length,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
// The definitions this run rewrites. Everything else is left exactly as the store has it.
|
|
22
|
+
export function written(drift, force) {
|
|
23
|
+
return drift.items.filter((entry) => writes(entry, force));
|
|
24
|
+
}
|
|
25
|
+
// The drift still standing after this run: what force cannot reach, plus what it could have
|
|
26
|
+
// reached had it been passed. Post-apply verification ignores these; the exit code does not.
|
|
27
|
+
export function deferred(drift, force) {
|
|
28
|
+
return drift.items.filter((entry) => !writes(entry, force));
|
|
29
|
+
}
|
|
30
|
+
// The attributes an update carries, so a write never states an opinion about something the
|
|
31
|
+
// operator did not declare drifted.
|
|
32
|
+
export function changedPaths(entry, force) {
|
|
33
|
+
const reasons = force ? [...entry.applies, ...entry.needsForce] : entry.applies;
|
|
34
|
+
return reasons.map((reason) => attribute(entry.item, reason));
|
|
35
|
+
}
|
|
36
|
+
// Reasons carry the item identity for metafields but not for metaobjects, so strip it before
|
|
37
|
+
// matching an attribute path.
|
|
38
|
+
export function attribute(item, reason) {
|
|
39
|
+
return reason.startsWith(`${item.identity}.`) ? reason.slice(item.identity.length + 1) : reason;
|
|
40
|
+
}
|
|
41
|
+
// Why `--force` is the wrong reach. Someone hitting an unrelated refusal and typing `--force`
|
|
42
|
+
// is the one failure mode a generic flag name creates; saying so where they are looking closes it.
|
|
43
|
+
export function blockedAdvice(item, reason) {
|
|
44
|
+
const path = attribute(item, reason);
|
|
45
|
+
if (/(^|\.)type: expected /.test(path)) {
|
|
46
|
+
return 'Shopify will not retype a definition that holds values. --force cannot do this; use a migration.';
|
|
47
|
+
}
|
|
48
|
+
if (path.startsWith('stored values include ')) {
|
|
49
|
+
return 'Invalid stored values are data, not shape. --force cannot do this; correct the values.';
|
|
50
|
+
}
|
|
51
|
+
if (item.status === 'INDETERMINATE') {
|
|
52
|
+
return 'Shopify is still validating stored values. --force cannot do this; wait and re-run.';
|
|
53
|
+
}
|
|
54
|
+
return 'This definition cannot be read back for update. --force cannot do this.';
|
|
55
|
+
}
|
|
56
|
+
function writes(entry, force) {
|
|
57
|
+
return entry.blocked.length === 0 && (force || entry.needsForce.length === 0);
|
|
58
|
+
}
|
|
59
|
+
function bucketFor(item, reason) {
|
|
60
|
+
// IN_PROGRESS validation: wait, do not write, not even a label.
|
|
61
|
+
if (item.status === 'INDETERMINATE')
|
|
62
|
+
return 'blocked';
|
|
63
|
+
// A metaobject update needs the definition's Shopify id, which only a read supplies.
|
|
64
|
+
if (item.kind === 'metaobject' && item.existing?.id === undefined)
|
|
65
|
+
return 'blocked';
|
|
66
|
+
const path = attribute(item, reason);
|
|
67
|
+
// Shopify will not retype a definition that has stored values; that is what migrations are for.
|
|
68
|
+
if (/(^|\.)type: expected /.test(path))
|
|
69
|
+
return 'blocked';
|
|
70
|
+
// Invalid stored values are data, not shape.
|
|
71
|
+
if (path.startsWith('stored values include '))
|
|
72
|
+
return 'blocked';
|
|
73
|
+
// Risk follows the attribute, not direction; capabilities are the exception because their
|
|
74
|
+
// direction is explicit and enabling one is harmless.
|
|
75
|
+
if (/(^|\.)capabilities\.[^:]+: expected false/.test(path))
|
|
76
|
+
return 'force';
|
|
77
|
+
if (/(^|\.)access\./.test(path))
|
|
78
|
+
return 'force';
|
|
79
|
+
if (/(^|\.)(validations|constraints) differ$/.test(path))
|
|
80
|
+
return 'force';
|
|
81
|
+
if (/(^|\.)required: expected true/.test(path))
|
|
82
|
+
return 'force';
|
|
83
|
+
return 'apply';
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=changes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changes.js","sourceRoot":"","sources":["../src/changes.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { mkdir, open, readFile, writeFile } from 'node:fs/promises';
|
|
3
3
|
import { dirname, resolve } from 'node:path';
|
|
4
4
|
import { AdminClient, DEFAULT_API_VERSION } from './admin.js';
|
|
5
|
+
import { readAppConfig } from './app-config.js';
|
|
5
6
|
import { mintAccessToken } from './auth.js';
|
|
6
7
|
import { fleetExitCode, synchronizeFleet } from './fleet.js';
|
|
7
8
|
import { generateSchemaModule } from './generator.js';
|
|
@@ -9,13 +10,15 @@ import { descriptionViolations } from './limits.js';
|
|
|
9
10
|
import { loadDefault, loadSchema } from './loader.js';
|
|
10
11
|
import { assertCompiledMigration, compileMigration, migrationExitCode, MIGRATION_MARKER, runMigration, } from './migration.js';
|
|
11
12
|
import { emitLiquidMetafields, isLiquidMetafieldsFile } from './liquid.js';
|
|
13
|
+
import { blockedAdvice } from './changes.js';
|
|
12
14
|
import { pullSchema } from './pull.js';
|
|
13
15
|
import { compileSchema, OWNER_TYPES, SCHEMA_MARKER, stringifyCanonical } from './schema.js';
|
|
16
|
+
import { doctorExitCode, runDoctor } from './doctor.js';
|
|
14
17
|
const valueOptions = new Set([
|
|
15
|
-
'store', 'stores-from', 'client-id', 'api-version', 'owner', 'namespace', 'out',
|
|
18
|
+
'store', 'stores-from', 'client-id', 'app-config', 'api-version', 'owner', 'namespace', 'out',
|
|
16
19
|
]);
|
|
17
20
|
const booleanOptions = new Set([
|
|
18
|
-
'apply', '
|
|
21
|
+
'apply', 'force', 'dry-run', 'json', 'validate', 'metaobjects', 'all-owners', 'all-namespaces',
|
|
19
22
|
'liquid', 'help', 'version',
|
|
20
23
|
]);
|
|
21
24
|
async function main(argv) {
|
|
@@ -28,8 +31,9 @@ async function main(argv) {
|
|
|
28
31
|
process.stdout.write(`${await packageVersion()}\n`);
|
|
29
32
|
return 0;
|
|
30
33
|
}
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
// Alone it modifies nothing: there is no write for it to widen.
|
|
35
|
+
if (args.flags.has('force') && !args.flags.has('apply') && args.command !== 'emit') {
|
|
36
|
+
throw new Error('--force requires --apply');
|
|
33
37
|
}
|
|
34
38
|
if (args.command === 'compile')
|
|
35
39
|
return compileCommand(args);
|
|
@@ -39,8 +43,29 @@ async function main(argv) {
|
|
|
39
43
|
return pullCommand(args);
|
|
40
44
|
if (args.command === 'migrate')
|
|
41
45
|
return migrateCommand(args);
|
|
46
|
+
if (args.command === 'doctor')
|
|
47
|
+
return doctorCommand(args);
|
|
42
48
|
return syncCommand(args);
|
|
43
49
|
}
|
|
50
|
+
// The one command that reaches Shopify without a store: shopify.dev proxies the type list to
|
|
51
|
+
// anyone. Kept out of sync so that no store operation depends on shopify.dev being up.
|
|
52
|
+
async function doctorCommand(args) {
|
|
53
|
+
if (args.positional.length > 0)
|
|
54
|
+
throw new Error('doctor accepts no positional arguments');
|
|
55
|
+
const report = await runDoctor(oneValue(args, 'api-version', false));
|
|
56
|
+
output(args, { installed: await packageVersion(), ...report }, renderDoctor(report));
|
|
57
|
+
return doctorExitCode(report);
|
|
58
|
+
}
|
|
59
|
+
function renderDoctor(report) {
|
|
60
|
+
const lines = [];
|
|
61
|
+
for (const check of report.checks) {
|
|
62
|
+
lines.push(`${check.ok ? 'OK ' : 'FAIL'} ${check.summary}`);
|
|
63
|
+
for (const line of check.details)
|
|
64
|
+
lines.push(` ${line}`);
|
|
65
|
+
}
|
|
66
|
+
lines.push('');
|
|
67
|
+
return lines.join('\n');
|
|
68
|
+
}
|
|
44
69
|
async function syncCommand(args) {
|
|
45
70
|
const path = onlyPositional(args, 'schema module');
|
|
46
71
|
const schema = await loadSchema(path);
|
|
@@ -57,31 +82,23 @@ async function syncCommand(args) {
|
|
|
57
82
|
}
|
|
58
83
|
const mode = modeFrom(args);
|
|
59
84
|
const targets = await storeTargets(args);
|
|
60
|
-
const result = await synchronizeFleet(targets, schema, mode, connectorFrom(args, targets.length), {
|
|
61
|
-
|
|
85
|
+
const result = await synchronizeFleet(targets, schema, mode, await connectorFrom(args, targets.length), {
|
|
86
|
+
force: args.flags.has('force'),
|
|
62
87
|
});
|
|
63
88
|
output(args, result, renderFleet(result));
|
|
64
|
-
return fleetExitCode(result
|
|
89
|
+
return fleetExitCode(result);
|
|
65
90
|
}
|
|
66
91
|
async function pullCommand(args) {
|
|
67
92
|
if (args.positional.length > 0)
|
|
68
93
|
throw new Error('pull accepts no positional arguments');
|
|
69
94
|
const allOwners = args.flags.has('all-owners');
|
|
70
|
-
const ownerValues =
|
|
71
|
-
if (allOwners && ownerValues.length > 0)
|
|
72
|
-
throw new Error('--all-owners and --owner are mutually exclusive');
|
|
73
|
-
if (!allOwners && ownerValues.length === 0)
|
|
74
|
-
throw new Error('pull requires --owner or --all-owners');
|
|
95
|
+
const ownerValues = requireExactlyOne(args, 'owner', 'all-owners');
|
|
75
96
|
const owners = (allOwners ? Object.keys(OWNER_TYPES) : ownerValues);
|
|
76
97
|
for (const owner of owners)
|
|
77
98
|
if (!(owner in OWNER_TYPES))
|
|
78
99
|
throw new Error(`unsupported owner: ${owner}`);
|
|
79
100
|
const allNamespaces = args.flags.has('all-namespaces');
|
|
80
|
-
const namespaces =
|
|
81
|
-
if (allNamespaces && namespaces.length > 0)
|
|
82
|
-
throw new Error('--all-namespaces and --namespace are mutually exclusive');
|
|
83
|
-
if (!allNamespaces && namespaces.length === 0)
|
|
84
|
-
throw new Error('pull requires --namespace or --all-namespaces');
|
|
101
|
+
const namespaces = requireExactlyOne(args, 'namespace', 'all-namespaces');
|
|
85
102
|
const pulled = await pullSchema(await clientFrom(args), {
|
|
86
103
|
owners,
|
|
87
104
|
namespaces,
|
|
@@ -89,21 +106,12 @@ async function pullCommand(args) {
|
|
|
89
106
|
metaobjects: args.flags.has('metaobjects'),
|
|
90
107
|
});
|
|
91
108
|
const generated = generateSchemaModule(pulled);
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
else if (args.flags.has('json')) {
|
|
100
|
-
output(args, { schema: generated, excluded: pulled.excluded }, '');
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
process.stdout.write(generated);
|
|
104
|
-
for (const identity of pulled.excluded)
|
|
105
|
-
process.stderr.write(`EXCLUDED ${identity}\n`);
|
|
106
|
-
}
|
|
109
|
+
await deliver(args, {
|
|
110
|
+
key: 'schema',
|
|
111
|
+
value: generated,
|
|
112
|
+
text: generated,
|
|
113
|
+
notes: { key: 'excluded', identities: pulled.excluded },
|
|
114
|
+
});
|
|
107
115
|
return 0;
|
|
108
116
|
}
|
|
109
117
|
async function compileCommand(args) {
|
|
@@ -116,17 +124,7 @@ async function compileCommand(args) {
|
|
|
116
124
|
compiled = compileMigration(value);
|
|
117
125
|
else
|
|
118
126
|
throw new Error('default export is neither a schema nor a migration declaration');
|
|
119
|
-
|
|
120
|
-
const out = oneValue(args, 'out', false);
|
|
121
|
-
if (out) {
|
|
122
|
-
const handle = await open(resolve(process.cwd(), out), 'wx');
|
|
123
|
-
await handle.writeFile(text);
|
|
124
|
-
await handle.close();
|
|
125
|
-
process.stdout.write(`WROTE ${out}\n`);
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
process.stdout.write(text);
|
|
129
|
-
}
|
|
127
|
+
await deliver(args, { key: 'compiled', value: compiled, text: stringifyCanonical(compiled) });
|
|
130
128
|
return 0;
|
|
131
129
|
}
|
|
132
130
|
async function emitCommand(args) {
|
|
@@ -134,24 +132,24 @@ async function emitCommand(args) {
|
|
|
134
132
|
if (!args.flags.has('liquid'))
|
|
135
133
|
throw new Error('emit requires an output format: --liquid');
|
|
136
134
|
const { definitions, skipped } = emitLiquidMetafields(await loadSchema(path));
|
|
137
|
-
const text = stringifyCanonical(definitions);
|
|
138
135
|
const out = oneValue(args, 'out', false);
|
|
139
|
-
if (
|
|
140
|
-
process.
|
|
141
|
-
for (const identity of skipped)
|
|
142
|
-
process.stderr.write(`SKIPPED ${identity}\n`);
|
|
143
|
-
return 0;
|
|
136
|
+
if (out !== undefined) {
|
|
137
|
+
await assertGeneratedTarget(resolve(process.cwd(), out), args.flags.has('force'));
|
|
144
138
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
139
|
+
await deliver(args, {
|
|
140
|
+
key: 'definitions',
|
|
141
|
+
value: definitions,
|
|
142
|
+
text: stringifyCanonical(definitions),
|
|
143
|
+
notes: { key: 'skipped', identities: skipped },
|
|
144
|
+
overwrite: true,
|
|
145
|
+
});
|
|
150
146
|
return 0;
|
|
151
147
|
}
|
|
152
148
|
// The target is a regenerated editor cache, so emit replaces it. Anything that is not
|
|
153
|
-
// already one is refused rather than overwritten.
|
|
154
|
-
async function assertGeneratedTarget(target) {
|
|
149
|
+
// already one is refused rather than overwritten, until --force says otherwise.
|
|
150
|
+
async function assertGeneratedTarget(target, force) {
|
|
151
|
+
if (force)
|
|
152
|
+
return;
|
|
155
153
|
let existing;
|
|
156
154
|
try {
|
|
157
155
|
existing = await readFile(target, 'utf8');
|
|
@@ -182,7 +180,7 @@ async function migrateCommand(args) {
|
|
|
182
180
|
`invalid=${result.invalid} conflicts=${result.conflicts} applied=${result.applied}`,
|
|
183
181
|
'',
|
|
184
182
|
].join('\n'));
|
|
185
|
-
return migrationExitCode(result
|
|
183
|
+
return migrationExitCode(result);
|
|
186
184
|
}
|
|
187
185
|
function parseArguments(argv) {
|
|
188
186
|
const values = new Map();
|
|
@@ -191,7 +189,7 @@ function parseArguments(argv) {
|
|
|
191
189
|
let command = 'sync';
|
|
192
190
|
const rest = [...argv];
|
|
193
191
|
const first = rest[0];
|
|
194
|
-
if (first && ['sync', 'pull', 'compile', 'emit', 'migrate', 'help', 'version'].includes(first)) {
|
|
192
|
+
if (first && ['sync', 'pull', 'compile', 'emit', 'migrate', 'doctor', 'help', 'version'].includes(first)) {
|
|
195
193
|
command = rest.shift();
|
|
196
194
|
}
|
|
197
195
|
while (rest.length > 0) {
|
|
@@ -222,12 +220,10 @@ function parseArguments(argv) {
|
|
|
222
220
|
}
|
|
223
221
|
return { command, positional, values, flags };
|
|
224
222
|
}
|
|
223
|
+
// --dry-run cancels whatever write was asked for, so the exact command line CI runs takes one
|
|
224
|
+
// appended flag to show what it would do.
|
|
225
225
|
function modeFrom(args) {
|
|
226
|
-
|
|
227
|
-
return 'apply';
|
|
228
|
-
if (args.flags.has('check'))
|
|
229
|
-
return 'check';
|
|
230
|
-
return 'dry-run';
|
|
226
|
+
return args.flags.has('apply') && !args.flags.has('dry-run') ? 'apply' : 'dry-run';
|
|
231
227
|
}
|
|
232
228
|
async function storeTargets(args) {
|
|
233
229
|
const targets = new Map();
|
|
@@ -246,10 +242,21 @@ async function storeTargets(args) {
|
|
|
246
242
|
throw new Error('--store or --stores-from is required');
|
|
247
243
|
return [...targets.values()];
|
|
248
244
|
}
|
|
249
|
-
|
|
245
|
+
// Most explicit source first. The app TOML the Shopify CLI already requires carries the client
|
|
246
|
+
// id, so a caller should not have to cut it out of the file to pass --client-id.
|
|
247
|
+
async function clientIdFrom(args) {
|
|
248
|
+
const explicit = oneValue(args, 'client-id', false);
|
|
249
|
+
if (explicit !== undefined)
|
|
250
|
+
return explicit;
|
|
251
|
+
const appConfig = oneValue(args, 'app-config', false);
|
|
252
|
+
if (appConfig !== undefined)
|
|
253
|
+
return (await readAppConfig(resolve(process.cwd(), appConfig))).clientId;
|
|
254
|
+
return process.env.SHOPIFY_APP_CLIENT_ID ?? '';
|
|
255
|
+
}
|
|
256
|
+
async function connectorFrom(args, storeCount) {
|
|
250
257
|
const apiVersion = oneValue(args, 'api-version', false) ?? DEFAULT_API_VERSION;
|
|
251
258
|
// guarddog: the three documented auth inputs, read here only to reach the named stores.
|
|
252
|
-
const clientId =
|
|
259
|
+
const clientId = await clientIdFrom(args);
|
|
253
260
|
const clientSecret = process.env.SHOPIFY_APP_SECRET ?? ''; // guarddog: see above
|
|
254
261
|
const token = process.env.SHOPIFY_ADMIN_ACCESS_TOKEN ?? ''; // guarddog: see above
|
|
255
262
|
if (clientId.length > 0 && clientSecret.length > 0) {
|
|
@@ -273,11 +280,49 @@ function connectorFrom(args, storeCount) {
|
|
|
273
280
|
throw new Error('SHOPIFY_ADMIN_ACCESS_TOKEN reaches one store; a fleet needs SHOPIFY_APP_CLIENT_ID and SHOPIFY_APP_SECRET');
|
|
274
281
|
}
|
|
275
282
|
async function clientFrom(args) {
|
|
276
|
-
return connectorFrom(args, 1)(oneValue(args, 'store', true));
|
|
283
|
+
return (await connectorFrom(args, 1))(oneValue(args, 'store', true));
|
|
277
284
|
}
|
|
278
285
|
function values(args, name) {
|
|
279
286
|
return args.values.get(name) ?? [];
|
|
280
287
|
}
|
|
288
|
+
// emit regenerates an editor cache in place; pull and compile refuse to clobber anything.
|
|
289
|
+
async function writeOut(out, text, overwrite = false) {
|
|
290
|
+
const path = resolve(process.cwd(), out);
|
|
291
|
+
if (!overwrite) {
|
|
292
|
+
const handle = await open(path, 'wx');
|
|
293
|
+
await handle.writeFile(text);
|
|
294
|
+
await handle.close();
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
await mkdir(dirname(path), { recursive: true });
|
|
298
|
+
await writeFile(path, text);
|
|
299
|
+
}
|
|
300
|
+
async function deliver(args, delivery) {
|
|
301
|
+
const notes = delivery.notes ? { [delivery.notes.key]: delivery.notes.identities } : {};
|
|
302
|
+
const out = oneValue(args, 'out', false);
|
|
303
|
+
if (out !== undefined) {
|
|
304
|
+
await writeOut(out, delivery.text, delivery.overwrite);
|
|
305
|
+
output(args, { status: 'written', out, ...notes }, `WROTE ${out}\n`);
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
if (args.flags.has('json')) {
|
|
309
|
+
output(args, { [delivery.key]: delivery.value, ...notes }, '');
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
process.stdout.write(delivery.text);
|
|
313
|
+
for (const identity of delivery.notes?.identities ?? []) {
|
|
314
|
+
process.stderr.write(`${delivery.notes?.key.toUpperCase()} ${identity}\n`);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
function requireExactlyOne(args, name, allFlag) {
|
|
318
|
+
const selected = values(args, name);
|
|
319
|
+
const all = args.flags.has(allFlag);
|
|
320
|
+
if (all && selected.length > 0)
|
|
321
|
+
throw new Error(`--${allFlag} and --${name} are mutually exclusive`);
|
|
322
|
+
if (!all && selected.length === 0)
|
|
323
|
+
throw new Error(`${args.command} requires --${name} or --${allFlag}`);
|
|
324
|
+
return selected;
|
|
325
|
+
}
|
|
281
326
|
function oneValue(args, name, required) {
|
|
282
327
|
const found = values(args, name);
|
|
283
328
|
if (found.length > 1)
|
|
@@ -305,25 +350,43 @@ function renderFleet(result) {
|
|
|
305
350
|
lines.push(`STORE ${outcome.store}`);
|
|
306
351
|
for (const item of outcome.plan?.items ?? [])
|
|
307
352
|
lines.push(...renderItem(item));
|
|
308
|
-
const
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
353
|
+
const updated = new Set(outcome.updated ?? []);
|
|
354
|
+
const skipped = new Set(outcome.skipped ?? []);
|
|
355
|
+
for (const entry of outcome.drift?.items ?? []) {
|
|
356
|
+
// The reasons are already above, under the plan item; only a refusal repeats one, next to
|
|
357
|
+
// the line that says what to do about it.
|
|
358
|
+
if (updated.has(entry.item.identity))
|
|
359
|
+
lines.push(`UPDATED ${entry.item.identity}`);
|
|
360
|
+
else if (!skipped.has(entry.item.identity))
|
|
361
|
+
lines.push(`UPDATE ${entry.item.identity}`);
|
|
362
|
+
else
|
|
363
|
+
lines.push(...renderSkipped(entry));
|
|
318
364
|
}
|
|
319
|
-
for (const identity of outcome.
|
|
320
|
-
lines.push(`
|
|
365
|
+
for (const identity of outcome.created ?? [])
|
|
366
|
+
lines.push(`CREATED ${identity}`);
|
|
321
367
|
if (outcome.refused !== undefined)
|
|
322
368
|
lines.push(`REFUSED ${outcome.store}: ${outcome.refused}`);
|
|
323
369
|
}
|
|
324
370
|
lines.push('');
|
|
325
371
|
return lines.join('\n');
|
|
326
372
|
}
|
|
373
|
+
// The refusal carries the teaching, so the generic flag name costs nothing. BLOCKED matters
|
|
374
|
+
// most: saying "--force cannot do this" is what stops someone reaching for it here.
|
|
375
|
+
function renderSkipped(entry) {
|
|
376
|
+
if (entry.blocked.length === 0) {
|
|
377
|
+
return [
|
|
378
|
+
`SKIPPED ${entry.item.identity}`,
|
|
379
|
+
...entry.needsForce.map((reason) => ` ${reason}`),
|
|
380
|
+
' re-run with --force to apply it',
|
|
381
|
+
];
|
|
382
|
+
}
|
|
383
|
+
const advice = [...new Set(entry.blocked.map((reason) => blockedAdvice(entry.item, reason)))];
|
|
384
|
+
return [
|
|
385
|
+
`BLOCKED ${entry.item.identity}`,
|
|
386
|
+
...entry.blocked.map((reason) => ` ${reason}`),
|
|
387
|
+
...advice.map((line) => ` ${line}`),
|
|
388
|
+
];
|
|
389
|
+
}
|
|
327
390
|
function renderItem(item) {
|
|
328
391
|
return [
|
|
329
392
|
`${item.status} ${item.identity}`,
|
|
@@ -346,21 +409,25 @@ async function help() {
|
|
|
346
409
|
|
|
347
410
|
Usage:
|
|
348
411
|
metafields <schema.ts> --validate
|
|
349
|
-
metafields <schema.ts> --store <store.myshopify.com> [--
|
|
412
|
+
metafields <schema.ts> --store <store.myshopify.com> [--json]
|
|
413
|
+
metafields <schema.ts> --store <store.myshopify.com> --apply [--force] [--dry-run]
|
|
350
414
|
metafields <schema.ts> --store <a> --store <b> --stores-from <stores.txt> [--apply]
|
|
351
|
-
metafields <schema.ts> --store <store.myshopify.com> --repair [--apply]
|
|
352
415
|
metafields pull --store <store.myshopify.com> --owner <owner> --namespace <namespace>
|
|
353
416
|
[--metaobjects] [--out <schema.ts>]
|
|
354
417
|
metafields compile <schema-or-migration.ts> [--out <compiled.json>]
|
|
355
|
-
metafields emit <schema.ts> --liquid [--out .shopify/metafields.json]
|
|
418
|
+
metafields emit <schema.ts> --liquid [--out .shopify/metafields.json] [--force]
|
|
356
419
|
metafields migrate <compiled-migration.json> --store <store.myshopify.com>
|
|
357
|
-
[--apply
|
|
420
|
+
[--apply] [--dry-run] [--json]
|
|
421
|
+
metafields doctor [--api-version <YYYY-MM>] [--json]
|
|
358
422
|
|
|
359
423
|
Options:
|
|
360
424
|
--store <host> Target store; repeat for a fleet
|
|
361
425
|
--stores-from <file> Sweep the stores listed one per line, '#' comments allowed
|
|
362
|
-
--client-id <id> App client id
|
|
363
|
-
--
|
|
426
|
+
--client-id <id> App client id; wins over --app-config and SHOPIFY_APP_CLIENT_ID
|
|
427
|
+
--app-config <path> Read client_id from a Shopify app TOML
|
|
428
|
+
--apply Make the store match the schema
|
|
429
|
+
--force Apply updates that can break a live storefront or strand stored values
|
|
430
|
+
--dry-run Report the writes --apply would make and make none
|
|
364
431
|
--api-version <YYYY-MM> Shopify Admin API version (default: ${DEFAULT_API_VERSION})
|
|
365
432
|
--all-owners Pull every supported owner type
|
|
366
433
|
--all-namespaces Pull every merchant-owned namespace
|
|
@@ -369,7 +436,8 @@ Options:
|
|
|
369
436
|
--version Show version
|
|
370
437
|
|
|
371
438
|
Auth reads SHOPIFY_APP_CLIENT_ID and SHOPIFY_APP_SECRET to mint a short-lived Admin token
|
|
372
|
-
per store, or SHOPIFY_ADMIN_ACCESS_TOKEN for a single store.
|
|
439
|
+
per store, or SHOPIFY_ADMIN_ACCESS_TOKEN for a single store. The client id can also come from
|
|
440
|
+
--client-id or --app-config ./shopify.app.toml; the secret is always an environment variable.
|
|
373
441
|
`;
|
|
374
442
|
}
|
|
375
443
|
main(process.argv.slice(2)).then((code) => {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/doctor.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Registry } from './type-registry.js';
|
|
2
|
+
export interface DoctorCheck {
|
|
3
|
+
readonly name: string;
|
|
4
|
+
readonly ok: boolean;
|
|
5
|
+
readonly summary: string;
|
|
6
|
+
readonly details: readonly string[];
|
|
7
|
+
}
|
|
8
|
+
export interface DoctorReport {
|
|
9
|
+
readonly version: string;
|
|
10
|
+
readonly healthy: boolean;
|
|
11
|
+
readonly checks: readonly DoctorCheck[];
|
|
12
|
+
}
|
|
13
|
+
export type FetchRegistry = (version: string) => Promise<Registry>;
|
|
14
|
+
export declare function runDoctor(version?: string, fetch?: FetchRegistry): Promise<DoctorReport>;
|
|
15
|
+
export declare function doctorExitCode(report: DoctorReport): number;
|
|
16
|
+
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAgC,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEjF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;CACzC;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAMnE,wBAAsB,SAAS,CAC7B,OAAO,GAAE,MAA4B,EACrC,KAAK,GAAE,aAA6B,GACnC,OAAO,CAAC,YAAY,CAAC,CA6CvB;AAMD,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE3D"}
|