Add declarative definitions import service
WHY are these changes introduced?
To enable importing metafield and metaobject definitions from a shop into a TOML configuration file, making it easier for developers to migrate existing custom data structures into their app configuration.
The service loads metafield definitions across all owner types, as well as metaobject definitions. These are then converted into their TOML equivalent, and for finessed rendering, a collection of patches to apply to control TOML formatting.
This service is not exposed within this PR.

- #6651
: 2 dependent PRs (#6652
, #6658
) π (View in Graphite) - #6688

main
This stack of pull requests is managed by Graphite. Learn more about stacking.
We detected some changes at packages/*/src and there are no updates in the .changeset.
If the changes are user-facing, run pnpm changeset add to track your changes and include them in the next release CHANGELOG.
[!CAUTION] DO NOT create changesets for features which you do not wish to be included in the public changelog of the next CLI release.
Coverage report
St.:grey_question: |
Category | Percentage | Covered / Total |
|---|---|---|---|
| π‘ | Statements | 79.47% (+0.26% πΌ) |
14141/17794 |
| π‘ | Branches | 73.53% (+0.33% πΌ) |
6936/9433 |
| π‘ | Functions | 79.62% (+0.27% πΌ) |
3630/4559 |
| π‘ | Lines | 79.84% (+0.27% πΌ) |
13367/16743 |
Show new covered files π£
St.:grey_question: |
File | Statements | Branches | Functions | Lines |
|---|---|---|---|---|---|
| π’ | ... / metafield_definitions.ts |
100% | 100% | 100% | 100% |
| π’ | ... / metaobject_definitions.ts |
100% | 100% | 100% | 100% |
| π’ | ... / declarative-definitions.ts |
98.54% | 93.18% | 100% | 98.51% |
Show files with reduced coverage π»
St.:grey_question: |
File | Statements | Branches | Functions | Lines |
|---|---|---|---|---|---|
| π’ | ... / execute-operation.ts |
92.86% | 80% (-3.33% π») |
100% | 92.31% |
| π’ | ... / execute-bulk-operation.ts |
92.98% | 86.11% (-0.73% π») |
100% | 92.73% |
| π’ | ... / developer-platform-client.ts |
84.62% | 71.43% (-2.26% π») |
81.82% | 93.75% (+3.13% πΌ) |
| π΄ | ... / environment.ts |
35% (-6.67% π») |
41.18% (-1.68% π») |
40% (-10% π») |
36.84% (-6.64% π») |
Test suite run success
3532 tests passing in 1413 suites.
Report generated by π§ͺjest coverage report action from b44cf4a51a98370a67c85d293514bd92a8af45f2
Differences in type declarations
We detected differences in the type declarations generated by Typescript for this branch compared to the baseline ('main' branch). Please, review them to ensure they are backward-compatible. Here are some important things to keep in mind:
- Some seemingly private modules might be re-exported through public modules.
- If the branch is behind
mainyou might see odd diffs, rebasemaininto this branch.
New type declarations
We found no new type declarations in this PR
Existing type declarations
packages/cli-kit/dist/public/node/http.d.ts
@@ -18,7 +18,7 @@ type AutomaticCancellationBehaviour = {
} | {
useAbortSignal: AbortSignal | (() => AbortSignal);
};
-type RequestBehaviour = NetworkRetryBehaviour & AutomaticCancellationBehaviour;
+export type RequestBehaviour = NetworkRetryBehaviour & AutomaticCancellationBehaviour;
export type RequestModeInput = PresetFetchBehaviour | RequestBehaviour;
/**
* Specify the behaviour of a network request.
packages/cli-kit/dist/public/node/api/graphql.d.ts
@@ -47,6 +47,7 @@ export type GraphQLRequestDocOptions<TResult, TVariables> = GraphQLRequestBaseOp
}>>;
variables?: TVariables;
unauthorizedHandler?: UnauthorizedHandler;
+ autoRateLimitRestore?: boolean;
};
export interface GraphQLResponseOptions<T> {
handleErrors?: boolean;