@notambourine/metafields 0.2.2 → 0.4.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 +62 -171
- package/dist/admin-shapes.d.ts +5 -2
- package/dist/admin-shapes.d.ts.map +1 -1
- package/dist/admin-shapes.js +7 -3
- package/dist/admin-shapes.js.map +1 -1
- package/dist/admin.js +39 -16
- package/dist/admin.js.map +1 -1
- package/dist/cli.js +1 -56
- package/dist/cli.js.map +1 -1
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +4 -3
- package/dist/generator.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/planner.d.ts.map +1 -1
- package/dist/planner.js +10 -7
- package/dist/planner.js.map +1 -1
- package/dist/render.d.ts +3 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +75 -0
- package/dist/render.js.map +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +18 -3
- package/dist/schema.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
# @notambourine/metafields
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
controlled changes. The CLI never deletes or retypes a definition.
|
|
3
|
+
Version Shopify metafield and metaobject definitions in TypeScript, preview store drift, and apply supported changes. The CLI never deletes or retypes definitions. Requires Node.js 22.18+.
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
## Define and sync a schema
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
Install the package, then create `schema.ts`:
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
```sh
|
|
10
|
+
npm install --save-dev @notambourine/metafields
|
|
11
|
+
```
|
|
11
12
|
|
|
12
13
|
```ts
|
|
13
14
|
import { defineSchema, field, metaobject } from '@notambourine/metafields';
|
|
@@ -24,183 +25,95 @@ export default defineSchema({
|
|
|
24
25
|
}),
|
|
25
26
|
},
|
|
26
27
|
metafields: {
|
|
27
|
-
product: {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
},
|
|
32
|
-
},
|
|
28
|
+
product: { custom: {
|
|
29
|
+
promo_text: field.string({ name: 'Promo text' }),
|
|
30
|
+
faq: field.metaobject('faq', { name: 'FAQ' }),
|
|
31
|
+
} },
|
|
33
32
|
},
|
|
34
33
|
});
|
|
35
34
|
```
|
|
36
35
|
|
|
37
|
-
Validate
|
|
36
|
+
Validate locally, authenticate, preview drift, then apply the same plan:
|
|
38
37
|
|
|
39
38
|
```sh
|
|
40
|
-
npx
|
|
41
|
-
|
|
42
|
-
npx
|
|
39
|
+
npx metafields ./schema.ts --validate
|
|
40
|
+
export SHOPIFY_ADMIN_ACCESS_TOKEN=...
|
|
41
|
+
npx metafields ./schema.ts --store example.myshopify.com
|
|
42
|
+
npx metafields ./schema.ts --store example.myshopify.com --apply
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
Schema modules
|
|
46
|
-
syntax. Compile untrusted pull-request declarations before a credentialed workflow consumes them:
|
|
45
|
+
Schema modules execute as trusted local code. For untrusted declarations, compile before introducing credentials:
|
|
47
46
|
|
|
48
47
|
```sh
|
|
49
|
-
npx
|
|
48
|
+
npx metafields compile ./schema.ts --out ./schema.json
|
|
50
49
|
```
|
|
51
50
|
|
|
52
|
-
|
|
53
|
-
identities it left out under `excluded` or `skipped`. Without `--json`, the document goes to
|
|
54
|
-
stdout and those identities to stderr, so stdout stays pipeable. Writing to `--out` reports
|
|
55
|
-
`{"status":"written","out":"..."}` instead of the document.
|
|
51
|
+
## Change policy
|
|
56
52
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
Without `--apply`, the CLI only reports drift. A definition is updated as one unit: if any part is
|
|
60
|
-
blocked or needs `--force`, its other changes wait too. Other definitions continue independently.
|
|
53
|
+
Each definition is atomic: if one attribute is blocked, its other changes wait. Other definitions continue independently.
|
|
61
54
|
|
|
62
55
|
| Change | Required mode |
|
|
63
56
|
| --- | --- |
|
|
64
|
-
| Create a definition or add a
|
|
65
|
-
|
|
|
66
|
-
| Change access,
|
|
67
|
-
|
|
|
68
|
-
| Delete or retype a definition | Never performed |
|
|
69
|
-
| Change invalid values or a definition Shopify is still validating | Never performed |
|
|
70
|
-
|
|
71
|
-
`--force` opts into changes that can break a storefront or strand stored values. For schema sync it
|
|
72
|
-
requires `--apply`; it cannot override Shopify constraints or repair data.
|
|
73
|
-
|
|
74
|
-
Use `--dry-run` to cancel requested writes while preserving the plan and exit code:
|
|
75
|
-
|
|
76
|
-
```sh
|
|
77
|
-
npx @notambourine/metafields ./schema.ts \
|
|
78
|
-
--store example.myshopify.com --apply --force --dry-run
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Exit codes describe the result:
|
|
82
|
-
|
|
83
|
-
- `0`: the store matches the schema.
|
|
84
|
-
- `1`: actionable drift remains.
|
|
85
|
-
- `2`: input is invalid, Shopify state is indeterminate, or an operation failed.
|
|
86
|
-
|
|
87
|
-
Cosmetic label drift does not change the exit code. Mutations retry Shopify's explicit
|
|
88
|
-
`THROTTLED` response, but are not retried after a timeout or `5xx` because the first request may
|
|
89
|
-
have landed.
|
|
90
|
-
|
|
91
|
-
## Metaobject references
|
|
57
|
+
| Create a definition or add a field | `--apply` |
|
|
58
|
+
| Change a definition or field label, `displayNameKey`, or enable a capability | `--apply` |
|
|
59
|
+
| Change access, validation, constraints, `required`, or disable a capability | `--apply --force` |
|
|
60
|
+
| Delete, retype, override invalid values, or bypass Shopify validation | Unsupported |
|
|
92
61
|
|
|
93
|
-
`
|
|
94
|
-
every store. Shopify stores the reference as a definition ID, which is not, so the CLI resolves
|
|
95
|
-
types to that store's IDs when it writes and reports them as types when it reads. A referenced
|
|
96
|
-
metaobject must be declared in the same schema; it is created before anything that references it.
|
|
62
|
+
`--force` accepts storefront and stored-value risk; it does not override Shopify. `--dry-run` cancels requested writes without changing the plan or exit code. Mutations retry only Shopify's explicit `THROTTLED` response because retrying ambiguous failures could duplicate a completed write.
|
|
97
63
|
|
|
98
|
-
|
|
64
|
+
Exit codes describe store state: `0` matches, `1` has actionable drift, and `2` is invalid, indeterminate, or failed. Cosmetic label drift does not fail. Migration code `1` means rows remain pending.
|
|
99
65
|
|
|
100
|
-
|
|
66
|
+
## Schema API
|
|
101
67
|
|
|
102
|
-
|
|
103
|
-
export SHOPIFY_ADMIN_ACCESS_TOKEN=...
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
For one store or a fleet, set app credentials. The CLI mints a short-lived token for each store:
|
|
107
|
-
|
|
108
|
-
```sh
|
|
109
|
-
export SHOPIFY_APP_CLIENT_ID=...
|
|
110
|
-
export SHOPIFY_APP_SECRET=...
|
|
111
|
-
```
|
|
68
|
+
Field builders:
|
|
112
69
|
|
|
113
|
-
|
|
114
|
-
`
|
|
70
|
+
- Values: `string`, `text`, `richText`, `integer`, `decimal`, `boolean`, `url`, `json`, `money`, `color`, `date`, `dateTime`, `rating`, `link`, `id`, `language`, `jurisdiction`, and `measurement`.
|
|
71
|
+
- References: `product`, `variant`, `collection`, `file`, `article`, `page`, `order`, `customer`, `company`, `metaobject`, and `mixedMetaobject`.
|
|
72
|
+
- Lists: wrap a builder with `field.list()`.
|
|
115
73
|
|
|
116
|
-
|
|
117
|
-
npx @notambourine/metafields ./schema.ts \
|
|
118
|
-
--app-config ./shopify.app.toml --store example.myshopify.com --apply
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
`--app-config` reads only the top-level `client_id`. Complete app credentials take priority over a
|
|
122
|
-
static token; incomplete app credentials fall back to the token. Credentials are redacted from
|
|
123
|
-
errors.
|
|
124
|
-
|
|
125
|
-
## Fleets
|
|
74
|
+
Options are type-checked by each builder. Examples include `field.measurement('weight')`, `field.file({ fileTypes: ['Image'] })`, and `field.url({ allowedDomains: ['example.com'] })`.
|
|
126
75
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
```sh
|
|
130
|
-
npx @notambourine/metafields ./schema.ts \
|
|
131
|
-
--store flagship.myshopify.com --stores-from ./stores.txt --apply
|
|
132
|
-
```
|
|
76
|
+
A metaobject field takes `adminFilterable` but not `access`, `constraints`, or the other capabilities, which Shopify keeps on metafield definitions alone. Declaring one of those on a metaobject field is rejected at compile rather than planned as drift no apply could clear.
|
|
133
77
|
|
|
134
|
-
|
|
135
|
-
A store named directly fails loudly; a swept store without the app is reported as `NOT-INSTALLED`
|
|
136
|
-
without failing the fleet. Other unreachable stores and rejected writes exit `2`.
|
|
78
|
+
Metaobject references name portable types in the schema; the CLI resolves their store-specific IDs and creates dependencies first. Shopify-owned disclosure and taxonomy references are not portable and cannot be declared.
|
|
137
79
|
|
|
138
|
-
|
|
80
|
+
Infer application types directly from the schema:
|
|
139
81
|
|
|
140
|
-
|
|
82
|
+
```ts
|
|
83
|
+
import type { InferMetafields, InferMetaobjects } from '@notambourine/metafields';
|
|
84
|
+
import schema from './schema.js';
|
|
141
85
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
--store example.myshopify.com \
|
|
145
|
-
--owner product \
|
|
146
|
-
--namespace custom \
|
|
147
|
-
--metaobjects \
|
|
148
|
-
--out schema.ts
|
|
86
|
+
type ProductMetafields = InferMetafields<typeof schema>['product'];
|
|
87
|
+
type Faq = InferMetaobjects<typeof schema>['faq'];
|
|
149
88
|
```
|
|
150
89
|
|
|
151
|
-
|
|
152
|
-
`--all-namespaces` flag is passed. The output path must not exist; omit `--out` to write to stdout.
|
|
90
|
+
## Other workflows
|
|
153
91
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
92
|
+
| Goal | Command |
|
|
93
|
+
| --- | --- |
|
|
94
|
+
| Sync a fleet | `npx metafields schema.ts --store a.myshopify.com --stores-from stores.txt --apply` |
|
|
95
|
+
| Pull selected store definitions | `npx metafields pull --store example.myshopify.com --owner product --namespace custom --metaobjects --out schema.ts` |
|
|
96
|
+
| Emit Liquid editor metadata | `npx metafields emit schema.ts --liquid --out .shopify/metafields.json` |
|
|
97
|
+
| Check the Shopify API type registry | `npx metafields doctor --api-version 2026-07` |
|
|
98
|
+
| Print all commands and options | `npx metafields --help` |
|
|
161
99
|
|
|
162
|
-
|
|
100
|
+
Fleet files contain one store per line and support `#` comments. Directly named stores fail when unreachable; swept stores without the app report `NOT-INSTALLED` and do not fail the fleet.
|
|
163
101
|
|
|
164
|
-
|
|
165
|
-
npx @notambourine/metafields emit ./schema.ts \
|
|
166
|
-
--liquid --out .shopify/metafields.json
|
|
167
|
-
```
|
|
102
|
+
Each store reports one line per definition it creates, updates, skips, or blocks, each naming the metafield type or metaobject field count, and counts the definitions that already match on the `STORE` line. Use `--json` for the complete plan.
|
|
168
103
|
|
|
169
|
-
|
|
170
|
-
metaobjects, `required`, validations, access, customer metafields, or draft-order metafields.
|
|
171
|
-
`emit` refuses to replace a file it did not generate unless passed `--force`.
|
|
104
|
+
Pull requires explicit owners and namespaces, or their `--all-*` flags. It emits representable definitions and reports the rest under `skipped` and reserved namespaces under `excluded`. Without `--metaobjects`, metaobject references are skipped. Pull and compile never overwrite output files.
|
|
172
105
|
|
|
173
|
-
|
|
106
|
+
Liquid output contains only editor-supported metafields. It omits metaobjects, customer and draft-order metafields, access, validation, constraints, and `required`. Emit overwrites only recognized generated output unless passed `--force`.
|
|
174
107
|
|
|
175
|
-
|
|
176
|
-
`json()`, `money()`, `color()`, `date()`, `dateTime()`, `rating()`, `link()`, `id()`, `language()`,
|
|
177
|
-
`jurisdiction()`, and `measurement()`, which names its unit type: `field.measurement('weight')`.
|
|
178
|
-
References are `product()`, `variant()`, `collection()`, `file()`, `article()`, `page()`, `order()`,
|
|
179
|
-
`customer()`, `company()`, `metaobject()`, and `mixedMetaobject()`. Wrap any of them in
|
|
180
|
-
`field.list()` where Shopify publishes a list counterpart.
|
|
108
|
+
## Authentication and output
|
|
181
109
|
|
|
182
|
-
`
|
|
183
|
-
`field.file({ fileTypes: ['Image'] })`, `field.url({ allowedDomains: ['example.com'] })`.
|
|
110
|
+
For one store, set `SHOPIFY_ADMIN_ACCESS_TOKEN`. For one store or a fleet, set `SHOPIFY_APP_CLIENT_ID` and `SHOPIFY_APP_SECRET`; the CLI mints a short-lived token per store. The client ID resolves from `--client-id`, `--app-config`, then the environment. Complete app credentials take priority over a static token, and credentials are redacted from errors.
|
|
184
111
|
|
|
185
|
-
|
|
186
|
-
or taxonomy handle Shopify owns on the store itself, which no schema can create or carry to another
|
|
187
|
-
store, so no builder declares them and `pull` reports them as skipped.
|
|
112
|
+
Operational commands support `--json`, producing one JSON object on stdout. In text mode, generated documents use stdout while `excluded` and `skipped` identities use stderr. `--out` reports a small written status instead of the document.
|
|
188
113
|
|
|
189
|
-
##
|
|
114
|
+
## Copy values to a replacement definition
|
|
190
115
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
```ts
|
|
194
|
-
import type { InferMetafields, InferMetaobjects } from '@notambourine/metafields';
|
|
195
|
-
import schema from './schema.js';
|
|
196
|
-
|
|
197
|
-
type ProductMetafields = InferMetafields<typeof schema>['product'];
|
|
198
|
-
type Faq = InferMetaobjects<typeof schema>['faq'];
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
## Migrations
|
|
202
|
-
|
|
203
|
-
Migrations copy values to a new definition. They never retype or delete the source.
|
|
116
|
+
Migrations copy values; they never retype or delete the source. Define endpoints from the schema and use a package transform:
|
|
204
117
|
|
|
205
118
|
```ts
|
|
206
119
|
import { defineMigration, transforms } from '@notambourine/metafields';
|
|
@@ -211,40 +124,18 @@ export default defineMigration({
|
|
|
211
124
|
from: schema.metafields.product.custom.internet,
|
|
212
125
|
to: schema.metafields.product.custom.internet_url,
|
|
213
126
|
mode: 'copy',
|
|
214
|
-
transform: transforms.url({
|
|
215
|
-
allowedSchemes: ['http', 'https'],
|
|
216
|
-
bareHost: 'reject',
|
|
217
|
-
trim: true,
|
|
218
|
-
}),
|
|
127
|
+
transform: transforms.url({ allowedSchemes: ['http', 'https'], bareHost: 'reject', trim: true }),
|
|
219
128
|
onInvalid: 'fail',
|
|
220
129
|
onTargetConflict: 'fail',
|
|
221
130
|
});
|
|
222
131
|
```
|
|
223
132
|
|
|
224
|
-
Compile
|
|
133
|
+
Compile without credentials, preview, then apply:
|
|
225
134
|
|
|
226
135
|
```sh
|
|
227
|
-
npx
|
|
228
|
-
npx
|
|
229
|
-
npx
|
|
136
|
+
npx metafields compile migration.ts --out migration.json
|
|
137
|
+
npx metafields migrate migration.json --store example.myshopify.com
|
|
138
|
+
npx metafields migrate migration.json --store example.myshopify.com --apply
|
|
230
139
|
```
|
|
231
140
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
## API compatibility
|
|
235
|
-
|
|
236
|
-
`doctor` checks that Shopify still serves the selected API version and that the package's generated
|
|
237
|
-
metafield type table matches it. It needs no store or credentials.
|
|
238
|
-
|
|
239
|
-
```sh
|
|
240
|
-
npx @notambourine/metafields doctor
|
|
241
|
-
npx @notambourine/metafields doctor --api-version 2026-07 --json
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
An unsupported version or changed type table is a failed check. An unreachable Shopify registry is
|
|
245
|
-
indeterminate and exits `2`.
|
|
246
|
-
|
|
247
|
-
Run `npx @notambourine/metafields --help` for the complete CLI reference.
|
|
248
|
-
|
|
249
|
-
This `0.x` release is prerelease quality. Confirm scopes and behavior against a development store
|
|
250
|
-
before production use.
|
|
141
|
+
This `0.x` package is prerelease quality. Verify scopes and behavior on a development store before production use.
|
package/dist/admin-shapes.d.ts
CHANGED
|
@@ -11,6 +11,9 @@ export interface RawField {
|
|
|
11
11
|
name: string;
|
|
12
12
|
value: string;
|
|
13
13
|
}[];
|
|
14
|
+
capabilities?: Record<string, {
|
|
15
|
+
enabled: boolean;
|
|
16
|
+
}>;
|
|
14
17
|
}
|
|
15
18
|
export interface RawMetafield extends RawField {
|
|
16
19
|
id: string;
|
|
@@ -51,7 +54,7 @@ export interface RawMetaobject {
|
|
|
51
54
|
export declare function mapField(value: RawField): ExistingField;
|
|
52
55
|
export declare function mapMetafield(value: RawMetafield): ExistingMetafield;
|
|
53
56
|
export declare function mapMetaobject(value: RawMetaobject): ExistingMetaobject;
|
|
54
|
-
export declare const FIELD_SELECTION
|
|
57
|
+
export declare const FIELD_SELECTION: string;
|
|
55
58
|
export declare const METAFIELD_SELECTION: string;
|
|
56
|
-
export declare const METAOBJECT_SELECTION
|
|
59
|
+
export declare const METAOBJECT_SELECTION: string;
|
|
57
60
|
//# sourceMappingURL=admin-shapes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-shapes.d.ts","sourceRoot":"","sources":["../src/admin-shapes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGzF,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-shapes.d.ts","sourceRoot":"","sources":["../src/admin-shapes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGzF,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnD,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE;YAAE,KAAK,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAA;aAAE,EAAE,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IACpF,gBAAgB,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACxD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACtC,YAAY,EAAE;QAAE,WAAW,EAAE;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,YAAY,EAAE;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;IACxF,gBAAgB,EAAE,QAAQ,EAAE,CAAC;CAC9B;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,aAAa,CAevD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,CAanE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,kBAAkB,CActE;AAID,eAAO,MAAM,eAAe,QAG3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAQ/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAKhC,CAAC"}
|
package/dist/admin-shapes.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FIELD_CAPABILITIES } from './types.js';
|
|
1
|
+
import { FIELD_CAPABILITIES, METAOBJECT_FIELD_CAPABILITIES } from './types.js';
|
|
2
2
|
export function mapField(value) {
|
|
3
|
-
|
|
3
|
+
const field = {
|
|
4
4
|
key: value.key,
|
|
5
5
|
name: value.name,
|
|
6
6
|
description: value.description,
|
|
@@ -8,6 +8,10 @@ export function mapField(value) {
|
|
|
8
8
|
required: value.required,
|
|
9
9
|
validations: value.validations,
|
|
10
10
|
};
|
|
11
|
+
if (value.capabilities) {
|
|
12
|
+
field.capabilities = Object.fromEntries(Object.entries(value.capabilities).map(([key, item]) => [key, item.enabled]));
|
|
13
|
+
}
|
|
14
|
+
return field;
|
|
11
15
|
}
|
|
12
16
|
export function mapMetafield(value) {
|
|
13
17
|
return {
|
|
@@ -16,7 +20,6 @@ export function mapMetafield(value) {
|
|
|
16
20
|
namespace: value.namespace,
|
|
17
21
|
ownerType: value.ownerType,
|
|
18
22
|
access: value.access,
|
|
19
|
-
capabilities: Object.fromEntries(Object.entries(value.capabilities).map(([key, item]) => [key, item.enabled])),
|
|
20
23
|
constraints: value.constraints
|
|
21
24
|
? { key: value.constraints.key, values: value.constraints.values.nodes.map((item) => item.value) }
|
|
22
25
|
: null,
|
|
@@ -43,6 +46,7 @@ export function mapMetaobject(value) {
|
|
|
43
46
|
// a capability Shopify adds is then one edit, not two that can silently disagree.
|
|
44
47
|
export const FIELD_SELECTION = `
|
|
45
48
|
key name description type { name } required validations { name value }
|
|
49
|
+
capabilities { ${METAOBJECT_FIELD_CAPABILITIES.map((name) => `${name} { enabled }`).join(' ')} }
|
|
46
50
|
`;
|
|
47
51
|
export const METAFIELD_SELECTION = `
|
|
48
52
|
id namespace key ownerType name description type { name }
|
package/dist/admin-shapes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-shapes.js","sourceRoot":"","sources":["../src/admin-shapes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-shapes.js","sourceRoot":"","sources":["../src/admin-shapes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAkC/E,MAAM,UAAU,QAAQ,CAAC,KAAe;IACtC,MAAM,KAAK,GAAkB;QAC3B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC;IACF,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CACrC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAmB;IAC9C,OAAO;QACL,GAAG,QAAQ,CAAC,KAAK,CAAC;QAClB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC5B,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAClG,CAAC,CAAC,IAAI;QACR,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAoB;IAChD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY,EAAE;YACZ,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO;YACnD,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO;SACtD;QACD,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG;;mBAEZ,6BAA6B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;CAC9F,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;mBAIhB,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;;;CAInF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;uBAIb,eAAe;CACrC,CAAC"}
|
package/dist/admin.js
CHANGED
|
@@ -313,15 +313,16 @@ function metaobjectUpdateInput(entry, force) {
|
|
|
313
313
|
input.capabilities = capabilityInput(definition.capabilities);
|
|
314
314
|
}
|
|
315
315
|
const missing = new Set();
|
|
316
|
-
const drifted = new
|
|
316
|
+
const drifted = new Map();
|
|
317
317
|
for (const path of paths) {
|
|
318
318
|
const added = /^fields\.([^.]+): missing$/.exec(path);
|
|
319
319
|
if (added?.[1] !== undefined)
|
|
320
320
|
missing.add(added[1]);
|
|
321
321
|
else {
|
|
322
|
-
const changed = /^fields\.([^.]+)
|
|
323
|
-
if (changed?.[1] !== undefined)
|
|
324
|
-
drifted.
|
|
322
|
+
const changed = /^fields\.([^.]+)\.(.+)$/.exec(path);
|
|
323
|
+
if (changed?.[1] !== undefined && changed[2] !== undefined) {
|
|
324
|
+
drifted.set(changed[1], [...drifted.get(changed[1]) ?? [], changed[2]]);
|
|
325
|
+
}
|
|
325
326
|
}
|
|
326
327
|
}
|
|
327
328
|
const declared = new Map(definition.fields.map((field) => [field.key, field]));
|
|
@@ -331,10 +332,15 @@ function metaobjectUpdateInput(entry, force) {
|
|
|
331
332
|
if (field)
|
|
332
333
|
operations.push({ create: fieldCreateInput(field) });
|
|
333
334
|
}
|
|
334
|
-
for (const key of [...drifted].sort()) {
|
|
335
|
+
for (const [key, changed] of [...drifted].sort(([a], [b]) => a.localeCompare(b))) {
|
|
335
336
|
const field = missing.has(key) ? undefined : declared.get(key);
|
|
336
|
-
if (field)
|
|
337
|
-
|
|
337
|
+
if (!field)
|
|
338
|
+
continue;
|
|
339
|
+
const update = fieldUpdateInput(field, changed);
|
|
340
|
+
// `key` alone identifies the field, so an input holding nothing else is a write with no
|
|
341
|
+
// opinion; Shopify would accept it and the operator would read it as a change.
|
|
342
|
+
if (Object.keys(update).length > 1)
|
|
343
|
+
operations.push({ update });
|
|
338
344
|
}
|
|
339
345
|
if (operations.length > 0)
|
|
340
346
|
input.fieldDefinitions = operations;
|
|
@@ -349,19 +355,36 @@ function addLabels(input, paths, definition) {
|
|
|
349
355
|
input.description = definition.description;
|
|
350
356
|
}
|
|
351
357
|
}
|
|
358
|
+
// No access or constraints here or below: compile refuses them on a metaobject field because
|
|
359
|
+
// Shopify's field definition input has nowhere to put them. Capabilities it does take, but only
|
|
360
|
+
// the ones compile allows, so this projects whatever survived it.
|
|
352
361
|
function fieldCreateInput(field) {
|
|
353
|
-
|
|
354
|
-
}
|
|
355
|
-
// No `type`: Shopify will not retype a field, and no `delete` operation is ever emitted.
|
|
356
|
-
function fieldUpdateInput(field) {
|
|
357
|
-
const result = { key: field.key, name: field.name };
|
|
362
|
+
const input = { key: field.key, type: field.type, name: field.name };
|
|
358
363
|
if (field.description !== undefined)
|
|
359
|
-
|
|
364
|
+
input.description = field.description;
|
|
360
365
|
if (field.required !== undefined)
|
|
361
|
-
|
|
366
|
+
input.required = field.required;
|
|
362
367
|
if (field.validations.length > 0)
|
|
363
|
-
|
|
364
|
-
|
|
368
|
+
input.validations = field.validations;
|
|
369
|
+
if (field.capabilities)
|
|
370
|
+
input.capabilities = capabilityInput(field.capabilities);
|
|
371
|
+
return input;
|
|
372
|
+
}
|
|
373
|
+
// Scoped the same way a definition update is: only the attributes the plan reported drifted, so
|
|
374
|
+
// relabelling a field never restates its validations or required flag. No `type` (Shopify will
|
|
375
|
+
// not retype a field) and no `delete` operation is ever emitted.
|
|
376
|
+
function fieldUpdateInput(field, paths) {
|
|
377
|
+
const input = { key: field.key };
|
|
378
|
+
addLabels(input, paths, field);
|
|
379
|
+
if (paths.some((path) => path.startsWith('required:')) && field.required !== undefined) {
|
|
380
|
+
input.required = field.required;
|
|
381
|
+
}
|
|
382
|
+
if (paths.includes('validations differ'))
|
|
383
|
+
input.validations = field.validations;
|
|
384
|
+
if (paths.some((path) => path.startsWith('capabilities.')) && field.capabilities) {
|
|
385
|
+
input.capabilities = capabilityInput(field.capabilities);
|
|
386
|
+
}
|
|
387
|
+
return input;
|
|
365
388
|
}
|
|
366
389
|
function metaobjectCreateInput(definition) {
|
|
367
390
|
const input = {
|
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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"}
|
package/dist/cli.js
CHANGED
|
@@ -10,8 +10,8 @@ import { descriptionViolations } from './limits.js';
|
|
|
10
10
|
import { loadDefault, loadSchema } from './loader.js';
|
|
11
11
|
import { assertCompiledMigration, compileMigration, migrationExitCode, MIGRATION_MARKER, runMigration, } from './migration.js';
|
|
12
12
|
import { emitLiquidMetafields, isLiquidMetafieldsFile } from './liquid.js';
|
|
13
|
-
import { blockedAdvice } from './changes.js';
|
|
14
13
|
import { pullSchema } from './pull.js';
|
|
14
|
+
import { renderFleet } from './render.js';
|
|
15
15
|
import { compileSchema, OWNER_TYPES, SCHEMA_MARKER, stringifyCanonical } from './schema.js';
|
|
16
16
|
import { doctorExitCode, runDoctor } from './doctor.js';
|
|
17
17
|
const valueOptions = new Set([
|
|
@@ -344,61 +344,6 @@ function onlyPositional(args, label) {
|
|
|
344
344
|
function output(args, json, text) {
|
|
345
345
|
process.stdout.write(args.flags.has('json') ? stringifyCanonical(json) : text);
|
|
346
346
|
}
|
|
347
|
-
function renderFleet(result) {
|
|
348
|
-
const lines = [];
|
|
349
|
-
for (const outcome of result.stores) {
|
|
350
|
-
if (outcome.status !== 'planned') {
|
|
351
|
-
const label = outcome.status === 'not-installed' ? 'NOT-INSTALLED' : 'UNREACHABLE';
|
|
352
|
-
lines.push(`${label} ${outcome.store} ${outcome.code ?? 'error'}: ${outcome.reason ?? ''}`.trimEnd());
|
|
353
|
-
continue;
|
|
354
|
-
}
|
|
355
|
-
lines.push(`STORE ${outcome.store}`);
|
|
356
|
-
for (const item of outcome.plan?.items ?? [])
|
|
357
|
-
lines.push(...renderItem(item));
|
|
358
|
-
const updated = new Set(outcome.updated ?? []);
|
|
359
|
-
const skipped = new Set(outcome.skipped ?? []);
|
|
360
|
-
for (const entry of outcome.drift?.items ?? []) {
|
|
361
|
-
// The reasons are already above, under the plan item; only a refusal repeats one, next to
|
|
362
|
-
// the line that says what to do about it.
|
|
363
|
-
if (updated.has(entry.item.identity))
|
|
364
|
-
lines.push(`UPDATED ${entry.item.identity}`);
|
|
365
|
-
else if (!skipped.has(entry.item.identity))
|
|
366
|
-
lines.push(`UPDATE ${entry.item.identity}`);
|
|
367
|
-
else
|
|
368
|
-
lines.push(...renderSkipped(entry));
|
|
369
|
-
}
|
|
370
|
-
for (const identity of outcome.created ?? [])
|
|
371
|
-
lines.push(`CREATED ${identity}`);
|
|
372
|
-
if (outcome.refused !== undefined)
|
|
373
|
-
lines.push(`REFUSED ${outcome.store}: ${outcome.refused}`);
|
|
374
|
-
}
|
|
375
|
-
lines.push('');
|
|
376
|
-
return lines.join('\n');
|
|
377
|
-
}
|
|
378
|
-
// The refusal carries the teaching, so the generic flag name costs nothing. BLOCKED matters
|
|
379
|
-
// most: saying "--force cannot do this" is what stops someone reaching for it here.
|
|
380
|
-
function renderSkipped(entry) {
|
|
381
|
-
if (entry.blocked.length === 0) {
|
|
382
|
-
return [
|
|
383
|
-
`SKIPPED ${entry.item.identity}`,
|
|
384
|
-
...entry.needsForce.map((reason) => ` ${reason}`),
|
|
385
|
-
' re-run with --force to apply it',
|
|
386
|
-
];
|
|
387
|
-
}
|
|
388
|
-
const advice = [...new Set(entry.blocked.map((reason) => blockedAdvice(entry.item, reason)))];
|
|
389
|
-
return [
|
|
390
|
-
`BLOCKED ${entry.item.identity}`,
|
|
391
|
-
...entry.blocked.map((reason) => ` ${reason}`),
|
|
392
|
-
...advice.map((line) => ` ${line}`),
|
|
393
|
-
];
|
|
394
|
-
}
|
|
395
|
-
function renderItem(item) {
|
|
396
|
-
return [
|
|
397
|
-
`${item.status} ${item.identity}`,
|
|
398
|
-
...item.reasons.map((reason) => ` ${reason}`),
|
|
399
|
-
...item.notices.map((notice) => `NOTICE ${notice}`),
|
|
400
|
-
];
|
|
401
|
-
}
|
|
402
347
|
function isRecord(value) {
|
|
403
348
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
404
349
|
}
|