@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.
Files changed (73) hide show
  1. package/README.md +126 -94
  2. package/dist/admin-shapes.d.ts +57 -0
  3. package/dist/admin-shapes.d.ts.map +1 -0
  4. package/dist/admin-shapes.js +67 -0
  5. package/dist/admin-shapes.js.map +1 -0
  6. package/dist/admin.d.ts +8 -7
  7. package/dist/admin.d.ts.map +1 -1
  8. package/dist/admin.js +116 -126
  9. package/dist/admin.js.map +1 -1
  10. package/dist/app-config.d.ts +5 -0
  11. package/dist/app-config.d.ts.map +1 -0
  12. package/dist/app-config.js +50 -0
  13. package/dist/app-config.js.map +1 -0
  14. package/dist/builders.js +2 -2
  15. package/dist/builders.js.map +1 -1
  16. package/dist/changes.d.ts +20 -0
  17. package/dist/changes.d.ts.map +1 -0
  18. package/dist/changes.js +85 -0
  19. package/dist/changes.js.map +1 -0
  20. package/dist/cli.js +153 -85
  21. package/dist/cli.js.map +1 -1
  22. package/dist/doctor.d.ts +16 -0
  23. package/dist/doctor.d.ts.map +1 -0
  24. package/dist/doctor.js +61 -0
  25. package/dist/doctor.js.map +1 -0
  26. package/dist/fleet.d.ts +7 -6
  27. package/dist/fleet.d.ts.map +1 -1
  28. package/dist/fleet.js +18 -18
  29. package/dist/fleet.js.map +1 -1
  30. package/dist/generator.js +1 -1
  31. package/dist/generator.js.map +1 -1
  32. package/dist/index.d.ts +12 -2
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +6 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/liquid.d.ts.map +1 -1
  37. package/dist/liquid.js +4 -19
  38. package/dist/liquid.js.map +1 -1
  39. package/dist/metafield-types.d.ts +601 -0
  40. package/dist/metafield-types.d.ts.map +1 -0
  41. package/dist/metafield-types.js +150 -0
  42. package/dist/metafield-types.js.map +1 -0
  43. package/dist/migration.d.ts +3 -2
  44. package/dist/migration.d.ts.map +1 -1
  45. package/dist/migration.js +4 -6
  46. package/dist/migration.js.map +1 -1
  47. package/dist/planner.d.ts +2 -2
  48. package/dist/planner.d.ts.map +1 -1
  49. package/dist/planner.js +5 -3
  50. package/dist/planner.js.map +1 -1
  51. package/dist/pull.d.ts.map +1 -1
  52. package/dist/pull.js +14 -61
  53. package/dist/pull.js.map +1 -1
  54. package/dist/references.d.ts +13 -0
  55. package/dist/references.d.ts.map +1 -0
  56. package/dist/references.js +69 -0
  57. package/dist/references.js.map +1 -0
  58. package/dist/schema.d.ts.map +1 -1
  59. package/dist/schema.js +1 -0
  60. package/dist/schema.js.map +1 -1
  61. package/dist/type-check.d.ts +14 -0
  62. package/dist/type-check.d.ts.map +1 -0
  63. package/dist/type-check.js +61 -0
  64. package/dist/type-check.js.map +1 -0
  65. package/dist/type-registry.d.ts +21 -0
  66. package/dist/type-registry.d.ts.map +1 -0
  67. package/dist/type-registry.js +48 -0
  68. package/dist/type-registry.js.map +1 -0
  69. package/package.json +3 -2
  70. package/dist/repair.d.ts +0 -16
  71. package/dist/repair.d.ts.map +0 -1
  72. package/dist/repair.js +0 -53
  73. package/dist/repair.js.map +0 -1
package/dist/admin.js CHANGED
@@ -1,6 +1,8 @@
1
+ import { mapMetafield, mapMetaobject, METAFIELD_SELECTION, METAOBJECT_SELECTION, } from './admin-shapes.js';
1
2
  import { assertDescriptionLengths } from './limits.js';
2
- import { exitCodeForPlan, planSchema } from './planner.js';
3
- import { attribute, repairedIdentities } from './repair.js';
3
+ import { exitCodeForPlan, planFrom, planSchema } from './planner.js';
4
+ import { changedPaths, classifyDrift, deferred, written, } from './changes.js';
5
+ import { toPortableField, toStoreField, toStoreMetaobject } from './references.js';
4
6
  export const DEFAULT_API_VERSION = '2026-07';
5
7
  export class AdminError extends Error {
6
8
  requestId;
@@ -23,6 +25,11 @@ export function normalizeStore(store) {
23
25
  export function redactSecrets(message) {
24
26
  return message.replace(/shp(at|ca|pa|ss|us)_[A-Za-z0-9_-]+/g, '[REDACTED]');
25
27
  }
28
+ // A rate limit arrives as HTTP 200 carrying this code, so it never reaches the status checks.
29
+ // MAX_COST_EXCEEDED is deliberately not throttling: that query costs too much every time.
30
+ function isThrottled(errors) {
31
+ return errors.some((error) => error.extensions?.code === 'THROTTLED' || /^throttled$/i.test(error.message.trim()));
32
+ }
26
33
  export class AdminClient {
27
34
  store;
28
35
  apiVersion;
@@ -31,6 +38,10 @@ export class AdminClient {
31
38
  #timeoutMs;
32
39
  #retries;
33
40
  #fetch;
41
+ // Every metaobject definition this client has read or created, both ways round: writes need the
42
+ // id a schema names by type, reads need the type behind the id Shopify returns.
43
+ #idByType = new Map();
44
+ #typeById = new Map();
34
45
  constructor(options) {
35
46
  const store = normalizeStore(options.store);
36
47
  const apiVersion = options.apiVersion ?? DEFAULT_API_VERSION;
@@ -48,7 +59,10 @@ export class AdminClient {
48
59
  this.#fetch = options.fetch ?? globalThis.fetch;
49
60
  }
50
61
  async request(query, variables = {}, mutation = false) {
51
- const attempts = mutation ? 1 : this.#retries + 1;
62
+ // A timeout or 5xx may have landed, but Shopify rejects THROTTLED before execution.
63
+ // Retry only the latter to avoid duplicate creates.
64
+ const attempts = this.#retries + 1;
65
+ const retriesTransient = !mutation;
52
66
  let lastError;
53
67
  for (let attempt = 0; attempt < attempts; attempt += 1) {
54
68
  try {
@@ -63,7 +77,7 @@ export class AdminClient {
63
77
  });
64
78
  const requestId = response.headers.get('x-request-id') ?? undefined;
65
79
  if (!response.ok) {
66
- const retryable = response.status === 429 || response.status >= 500;
80
+ const retryable = retriesTransient && (response.status === 429 || response.status >= 500);
67
81
  if (retryable && attempt + 1 < attempts) {
68
82
  await delay(backoff(attempt, response.headers.get('retry-after')));
69
83
  continue;
@@ -72,8 +86,7 @@ export class AdminClient {
72
86
  }
73
87
  const envelope = await response.json();
74
88
  if (envelope.errors?.length) {
75
- const throttled = envelope.errors.some((error) => /throttled/i.test(error.message));
76
- if (throttled && attempt + 1 < attempts) {
89
+ if (isThrottled(envelope.errors) && attempt + 1 < attempts) {
77
90
  await delay(backoff(attempt));
78
91
  continue;
79
92
  }
@@ -85,7 +98,7 @@ export class AdminClient {
85
98
  }
86
99
  catch (error) {
87
100
  lastError = error;
88
- if (error instanceof AdminError || attempt + 1 >= attempts)
101
+ if (error instanceof AdminError || !retriesTransient || attempt + 1 >= attempts)
89
102
  throw redactError(error);
90
103
  await delay(backoff(attempt));
91
104
  }
@@ -109,7 +122,11 @@ export class AdminClient {
109
122
  }
110
123
  async readMetaobject(type) {
111
124
  const data = await this.request(METAOBJECT_QUERY, { type });
112
- return data.metaobjectDefinitionByType ? mapMetaobject(data.metaobjectDefinitionByType) : null;
125
+ if (!data.metaobjectDefinitionByType)
126
+ return null;
127
+ const definition = mapMetaobject(data.metaobjectDefinitionByType);
128
+ this.#remember(definition.type, definition.id);
129
+ return { ...definition, fields: definition.fields.map((field) => this.#portable(field)) };
113
130
  }
114
131
  async readMetafield(definition) {
115
132
  const data = await this.request(METAFIELD_QUERY, {
@@ -119,85 +136,112 @@ export class AdminClient {
119
136
  key: definition.key,
120
137
  },
121
138
  });
122
- return data.metafieldDefinition ? mapMetafield(data.metafieldDefinition) : null;
139
+ return data.metafieldDefinition ? this.#portable(mapMetafield(data.metafieldDefinition)) : null;
140
+ }
141
+ #remember(type, id) {
142
+ if (id === undefined)
143
+ return;
144
+ this.#idByType.set(type, id);
145
+ this.#typeById.set(id, type);
146
+ }
147
+ // A stored reference names an id, a schema names a type. Comparing and regenerating both happen
148
+ // against the schema's vocabulary, so a read answers in it.
149
+ #portable(field) {
150
+ return toPortableField(field, this.#typeById);
151
+ }
152
+ // References are resolved before the input builders run, so those stay a plain projection.
153
+ // Every referenced metaobject was read or created by now: creates precede updates.
154
+ #resolved(entry) {
155
+ const desired = entry.item.kind === 'metaobject'
156
+ ? toStoreMetaobject(entry.item.desired, this.#idByType)
157
+ : toStoreField(entry.item.desired, this.#idByType);
158
+ return { ...entry, item: { ...entry.item, desired } };
123
159
  }
124
160
  async createMetaobject(definition) {
125
- const data = await this.request(METAOBJECT_CREATE, { definition: metaobjectCreateInput(definition) }, true);
126
- assertMutation(data.metaobjectDefinitionCreate, `metaobject:${definition.type}`);
161
+ const data = await this.request(METAOBJECT_CREATE, { definition: metaobjectCreateInput(toStoreMetaobject(definition, this.#idByType)) }, true);
162
+ const payload = data.metaobjectDefinitionCreate;
163
+ assertMutation(payload.metaobjectDefinition, payload.userErrors, `metaobject:${definition.type}`);
164
+ // Metafields referencing this metaobject are created later in the same run, by type.
165
+ this.#remember(definition.type, payload.metaobjectDefinition?.id);
127
166
  }
128
167
  async createMetafield(definition) {
129
- const data = await this.request(METAFIELD_CREATE, { definition: metafieldCreateInput(definition) }, true);
130
- assertMutation({
131
- created: data.metafieldDefinitionCreate.createdDefinition,
132
- userErrors: data.metafieldDefinitionCreate.userErrors,
133
- }, `metafield:${definition.ownerType}:${definition.namespace}.${definition.key}`);
168
+ const data = await this.request(METAFIELD_CREATE, { definition: metafieldCreateInput(toStoreField(definition, this.#idByType)) }, true);
169
+ const payload = data.metafieldDefinitionCreate;
170
+ assertMutation(payload.createdDefinition, payload.userErrors, `metafield:${definition.ownerType}:${definition.namespace}.${definition.key}`);
134
171
  }
135
- async repairMetaobject(entry) {
172
+ async updateMetaobject(entry, force = false) {
136
173
  const data = await this.request(METAOBJECT_UPDATE, {
137
174
  id: entry.item.existing?.id,
138
- definition: metaobjectUpdateInput(entry),
175
+ definition: metaobjectUpdateInput(this.#resolved(entry), force),
139
176
  }, true);
140
- assertMutation(data.metaobjectDefinitionUpdate, entry.item.identity);
177
+ const payload = data.metaobjectDefinitionUpdate;
178
+ assertMutation(payload.metaobjectDefinition, payload.userErrors, entry.item.identity);
141
179
  }
142
- async repairMetafield(entry) {
143
- const data = await this.request(METAFIELD_UPDATE, { definition: metafieldUpdateInput(entry) }, true);
144
- assertMutation({
145
- created: data.metafieldDefinitionUpdate.updatedDefinition,
146
- userErrors: data.metafieldDefinitionUpdate.userErrors,
147
- }, entry.item.identity);
180
+ async updateMetafield(entry, force = false) {
181
+ const data = await this.request(METAFIELD_UPDATE, { definition: metafieldUpdateInput(this.#resolved(entry), force) }, true);
182
+ const payload = data.metafieldDefinitionUpdate;
183
+ assertMutation(payload.updatedDefinition, payload.userErrors, entry.item.identity);
148
184
  }
149
185
  }
150
186
  export async function planStore(client, schema) {
151
187
  return planSchema(schema, await client.readSchema(schema));
152
188
  }
153
- export async function applyPlan(client, schema, plan, repair) {
154
- const applied = [];
155
- const repaired = [];
189
+ export async function applyPlan(client, schema, plan, drift, force = false) {
190
+ const created = [];
191
+ const updated = [];
192
+ const skipped = deferred(drift, force).map((entry) => entry.item.identity);
156
193
  try {
157
- // Repairs run before creates so a metaobject a new metafield references is already correct.
158
- for (const entry of repair ? repairedIdentities(repair) : []) {
159
- if (entry.item.kind === 'metaobject')
160
- await client.repairMetaobject(entry);
161
- else
162
- await client.repairMetafield(entry);
163
- repaired.push(entry.item.identity);
164
- }
194
+ // Metaobject creates run first so an update can reference a metaobject born this run; updates
195
+ // still precede metafield creates so a new metafield lands against already-corrected shape.
165
196
  for (const item of plan.items.filter((value) => value.kind === 'metaobject' && value.status === 'CREATE')) {
166
197
  await client.createMetaobject(item.desired);
167
- applied.push(item.identity);
198
+ created.push(item.identity);
199
+ }
200
+ for (const entry of written(drift, force)) {
201
+ if (entry.item.kind === 'metaobject')
202
+ await client.updateMetaobject(entry, force);
203
+ else
204
+ await client.updateMetafield(entry, force);
205
+ updated.push(entry.item.identity);
168
206
  }
169
207
  for (const item of plan.items.filter((value) => value.kind === 'metafield' && value.status === 'CREATE')) {
170
208
  await client.createMetafield(item.desired);
171
- applied.push(item.identity);
209
+ created.push(item.identity);
172
210
  }
173
211
  }
174
212
  catch (error) {
175
213
  const landed = [
176
- ...repaired.map((identity) => `repaired ${identity}`),
177
- ...applied.map((identity) => `created ${identity}`),
214
+ ...updated.map((identity) => `updated ${identity}`),
215
+ ...created.map((identity) => `created ${identity}`),
178
216
  ];
179
217
  const trail = landed.length > 0 ? `; before failure: ${landed.join(', ')}` : '';
180
218
  throw new AdminError(`${error instanceof Error ? error.message : String(error)}${trail}`);
181
219
  }
182
220
  const after = planSchema(schema, await client.readSchema(schema));
183
- if (exitCodeForPlan(after, 'check') !== 0) {
184
- throw new AdminError(`post-apply verification failed; created: ${applied.join(', ') || 'none'}`);
221
+ // Only the writes this run made have to have landed. Drift it chose to skip is expected to
222
+ // still be there, and reporting it as a failed verification would hide a real one.
223
+ const attempted = planFrom(after.items.filter((item) => !skipped.includes(item.identity)));
224
+ if (exitCodeForPlan(attempted) !== 0) {
225
+ throw new AdminError(`post-apply verification failed; created: ${created.join(', ') || 'none'}`);
185
226
  }
186
- return { plan: after, applied, repaired };
227
+ return { plan: after, created, updated, skipped };
187
228
  }
188
- export async function synchronize(client, schema, mode) {
229
+ export async function synchronize(client, schema, mode, force = false) {
189
230
  assertDescriptionLengths(schema);
190
231
  const before = await planStore(client, schema);
191
- if (mode !== 'apply' || exitCodeForPlan(before, mode) !== 0) {
192
- return { plan: before, applied: [], repaired: [] };
232
+ const drift = classifyDrift(before);
233
+ if (mode !== 'apply') {
234
+ return { plan: before, created: [], updated: [], skipped: deferred(drift, force).map((entry) => entry.item.identity) };
193
235
  }
194
- return applyPlan(client, schema, before);
236
+ return applyPlan(client, schema, before, drift, force);
195
237
  }
196
- function assertMutation(payload, identity) {
197
- if (payload.userErrors.length > 0) {
198
- throw new AdminError(`${identity}: ${payload.userErrors.map((error) => error.message).join('; ')}`);
238
+ // Each mutation names its payload field differently, so the caller passes the definition it
239
+ // found rather than a shape this has to know about.
240
+ function assertMutation(definition, userErrors, identity) {
241
+ if (userErrors.length > 0) {
242
+ throw new AdminError(`${identity}: ${userErrors.map((error) => error.message).join('; ')}`);
199
243
  }
200
- if (payload.metaobjectDefinition == null && payload.created == null) {
244
+ if (definition == null) {
201
245
  throw new AdminError(`${identity}: Shopify returned no created definition`);
202
246
  }
203
247
  }
@@ -221,19 +265,17 @@ function metafieldCreateInput(definition) {
221
265
  input.constraints = definition.constraints;
222
266
  return input;
223
267
  }
224
- // `--repair` only ever sends the attributes the plan reported as drifted, so an update never
225
- // carries an opinion about something the operator did not declare.
226
- function metafieldUpdateInput(entry) {
268
+ // An update only ever sends the attributes the plan reported as drifted, so it never carries an
269
+ // opinion about something the operator did not declare.
270
+ function metafieldUpdateInput(entry, force) {
227
271
  const definition = entry.item.desired;
228
- const paths = entry.repairs.map((reason) => attribute(entry.item, reason));
272
+ const paths = changedPaths(entry, force);
229
273
  const input = {
230
274
  ownerType: definition.ownerType,
231
275
  namespace: definition.namespace,
232
276
  key: definition.key,
233
- name: definition.name,
234
277
  };
235
- if (definition.description !== undefined)
236
- input.description = definition.description;
278
+ addLabels(input, paths, definition);
237
279
  if (paths.includes('validations differ'))
238
280
  input.validations = definition.validations;
239
281
  if (paths.some((path) => path.startsWith('access.')) && definition.access)
@@ -257,10 +299,11 @@ function constraintsUpdateInput(definition, existing) {
257
299
  ];
258
300
  return definition.constraints ? { key: definition.constraints.key, values } : { key: null, values };
259
301
  }
260
- function metaobjectUpdateInput(entry) {
302
+ function metaobjectUpdateInput(entry, force) {
261
303
  const definition = entry.item.desired;
262
- const paths = entry.repairs.map((reason) => attribute(entry.item, reason));
304
+ const paths = changedPaths(entry, force);
263
305
  const input = {};
306
+ addLabels(input, paths, definition);
264
307
  if (paths.some((path) => path.startsWith('displayNameKey')) && definition.displayNameKey !== undefined) {
265
308
  input.displayNameKey = definition.displayNameKey;
266
309
  }
@@ -297,6 +340,15 @@ function metaobjectUpdateInput(entry) {
297
340
  input.fieldDefinitions = operations;
298
341
  return input;
299
342
  }
343
+ // Both are labels, so both are sent only when the plan reported them drifted; an unchanged name
344
+ // is the same no-op either way, and an update to something else never rewrites one silently.
345
+ function addLabels(input, paths, definition) {
346
+ if (paths.includes('name differs'))
347
+ input.name = definition.name;
348
+ if (paths.includes('description differs') && definition.description !== undefined) {
349
+ input.description = definition.description;
350
+ }
351
+ }
300
352
  function fieldCreateInput(field) {
301
353
  return { key: field.key, type: field.type, ...fieldUpdateInput(field) };
302
354
  }
@@ -330,46 +382,6 @@ function metaobjectCreateInput(definition) {
330
382
  function capabilityInput(capabilities) {
331
383
  return Object.fromEntries(Object.entries(capabilities).map(([key, enabled]) => [key, { enabled }]));
332
384
  }
333
- function mapField(field) {
334
- return {
335
- key: field.key,
336
- name: field.name,
337
- description: field.description,
338
- type: field.type,
339
- required: field.required,
340
- validations: field.validations,
341
- };
342
- }
343
- function mapMetaobject(value) {
344
- return {
345
- id: value.id,
346
- type: value.type,
347
- name: value.name,
348
- description: value.description,
349
- displayNameKey: value.displayNameKey,
350
- access: value.access,
351
- capabilities: {
352
- publishable: value.capabilities.publishable.enabled,
353
- translatable: value.capabilities.translatable.enabled,
354
- },
355
- fields: value.fieldDefinitions.map(mapField),
356
- };
357
- }
358
- function mapMetafield(value) {
359
- return {
360
- ...mapField(value),
361
- id: value.id,
362
- namespace: value.namespace,
363
- ownerType: value.ownerType,
364
- access: value.access,
365
- capabilities: Object.fromEntries(Object.entries(value.capabilities).map(([key, item]) => [key, item.enabled])),
366
- constraints: value.constraints
367
- ? { key: value.constraints.key, values: value.constraints.values.nodes.map((item) => item.value) }
368
- : null,
369
- validationStatus: value.validationStatus,
370
- invalidCount: value.invalidCount,
371
- };
372
- }
373
385
  function redactError(error) {
374
386
  if (error instanceof AdminError)
375
387
  return error;
@@ -384,42 +396,20 @@ function backoff(attempt, retryAfter) {
384
396
  function delay(milliseconds) {
385
397
  return new Promise((resolve) => setTimeout(resolve, milliseconds));
386
398
  }
387
- const FIELD_SELECTION = `
388
- key name description type { name } required validations { name value }
389
- `;
390
399
  const METAOBJECT_QUERY = `
391
400
  query MetaobjectDefinition($type: String!) {
392
- metaobjectDefinitionByType(type: $type) {
393
- id type name description displayNameKey
394
- access { admin storefront }
395
- capabilities { publishable { enabled } translatable { enabled } }
396
- fieldDefinitions { ${FIELD_SELECTION} }
397
- }
401
+ metaobjectDefinitionByType(type: $type) { ${METAOBJECT_SELECTION} }
398
402
  }`;
399
403
  // Owner, namespace and key travel in `identifier`, never as top-level arguments: the only other
400
404
  // selector is `id`, which is deprecated and which a schema-first tool has no way to know.
401
405
  const METAFIELD_QUERY = `
402
406
  query MetafieldDefinition($identifier: MetafieldDefinitionIdentifierInput!) {
403
- metafieldDefinition(identifier: $identifier) {
404
- id namespace key ownerType name description type { name }
405
- validations { name value }
406
- access { admin storefront customerAccount }
407
- capabilities {
408
- adminFilterable { enabled }
409
- analyticsQueryable { enabled }
410
- cartToOrderCopyable { enabled }
411
- smartCollectionCondition { enabled }
412
- uniqueValues { enabled }
413
- }
414
- constraints { key values(first: 250) { nodes { value } } }
415
- validationStatus
416
- invalidCount: metafieldsCount(validationStatus: INVALID)
417
- }
407
+ metafieldDefinition(identifier: $identifier) { ${METAFIELD_SELECTION} }
418
408
  }`;
419
409
  const METAOBJECT_CREATE = `
420
410
  mutation CreateMetaobjectDefinition($definition: MetaobjectDefinitionCreateInput!) {
421
411
  metaobjectDefinitionCreate(definition: $definition) {
422
- metaobjectDefinition { id }
412
+ metaobjectDefinition { id type }
423
413
  userErrors { field message code }
424
414
  }
425
415
  }`;
@@ -430,7 +420,7 @@ mutation CreateMetafieldDefinition($definition: MetafieldDefinitionInput!) {
430
420
  userErrors { field message code }
431
421
  }
432
422
  }`;
433
- // Neither update carries a `delete` field operation or a `type`: a repair rewrites shape the
423
+ // Neither update carries a `delete` field operation or a `type`: an update rewrites shape the
434
424
  // operator declared and nothing else.
435
425
  const METAOBJECT_UPDATE = `
436
426
  mutation UpdateMetaobjectDefinition($id: ID!, $definition: MetaobjectDefinitionUpdateInput!) {
package/dist/admin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export interface AppConfig {
2
+ clientId: string;
3
+ }
4
+ export declare function readAppConfig(path: string): Promise<AppConfig>;
5
+ //# sourceMappingURL=app-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-config.d.ts","sourceRoot":"","sources":["../src/app-config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAmBpE"}
@@ -0,0 +1,50 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ // Only the top-level table is read, and only for `client_id`: a `client_id` under a `[section]`
3
+ // belongs to that section, and a TOML parser is a dependency for one string.
4
+ export async function readAppConfig(path) {
5
+ let text;
6
+ try {
7
+ text = await readFile(path, 'utf8');
8
+ }
9
+ catch (error) {
10
+ throw new Error(`could not read ${path}: ${error instanceof Error ? error.message : String(error)}`);
11
+ }
12
+ for (const line of text.split(/\r?\n/)) {
13
+ const statement = withoutComment(line).trim();
14
+ if (statement.startsWith('['))
15
+ break;
16
+ const match = /^client_id\s*=\s*(.*)$/.exec(statement);
17
+ if (!match)
18
+ continue;
19
+ const clientId = unquote((match[1] ?? '').trim());
20
+ if (clientId === undefined || clientId.length === 0) {
21
+ throw new Error(`${path}: client_id must be a non-empty quoted string`);
22
+ }
23
+ return { clientId };
24
+ }
25
+ throw new Error(`${path}: no top-level client_id; expected a Shopify app TOML`);
26
+ }
27
+ function withoutComment(line) {
28
+ let quote = '';
29
+ for (let index = 0; index < line.length; index += 1) {
30
+ const character = line[index];
31
+ if (quote.length > 0) {
32
+ if (character === quote)
33
+ quote = '';
34
+ }
35
+ else if (character === '"' || character === "'") {
36
+ quote = character;
37
+ }
38
+ else if (character === '#') {
39
+ return line.slice(0, index);
40
+ }
41
+ }
42
+ return line;
43
+ }
44
+ function unquote(value) {
45
+ const quote = value[0];
46
+ if (value.length < 2 || (quote !== '"' && quote !== "'") || !value.endsWith(quote))
47
+ return undefined;
48
+ return value.slice(1, -1);
49
+ }
50
+ //# sourceMappingURL=app-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-config.js","sourceRoot":"","sources":["../src/app-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5C,gGAAgG;AAChG,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM;QACrC,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,+CAA+C,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uDAAuD,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,SAAS,KAAK,KAAK;gBAAE,KAAK,GAAG,EAAE,CAAC;QACtC,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAClD,KAAK,GAAG,SAAS,CAAC;QACpB,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACrG,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC"}
package/dist/builders.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { FIELD_MARKER, METAOBJECT_MARKER, SCHEMA_MARKER, } from './types.js';
2
- function validations(options, numeric = false) {
2
+ function validations(options) {
3
3
  const result = [];
4
4
  for (const name of ['min', 'max', 'regex']) {
5
5
  const value = options[name];
@@ -10,7 +10,7 @@ function validations(options, numeric = false) {
10
10
  result.push({ name: 'choices', value: JSON.stringify(options.choices) });
11
11
  }
12
12
  if (options.schema !== undefined) {
13
- result.push({ name: 'json_schema', value: JSON.stringify(options.schema) });
13
+ result.push({ name: 'schema', value: JSON.stringify(options.schema) });
14
14
  }
15
15
  return result;
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"builders.js","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builders.js","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Plan, PlanItem } from './planner.js';
2
+ export interface DriftItem {
3
+ item: PlanItem;
4
+ applies: string[];
5
+ needsForce: string[];
6
+ blocked: string[];
7
+ }
8
+ export interface DriftPlan {
9
+ items: DriftItem[];
10
+ applies: number;
11
+ needsForce: number;
12
+ blocked: number;
13
+ }
14
+ export declare function classifyDrift(plan: Plan): DriftPlan;
15
+ export declare function written(drift: DriftPlan, force: boolean): DriftItem[];
16
+ export declare function deferred(drift: DriftPlan, force: boolean): DriftItem[];
17
+ export declare function changedPaths(entry: DriftItem, force: boolean): string[];
18
+ export declare function attribute(item: PlanItem, reason: string): string;
19
+ export declare function blockedAdvice(item: PlanItem, reason: string): string;
20
+ //# sourceMappingURL=changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../src/changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IAGf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAgBnD;AAGD,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,CAErE;AAID,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,CAEtE;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAGvE;AAID,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhE;AAID,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAYpE"}