@takeshape/schema 8.215.2 → 8.217.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/dist/migration/index.d.ts +1 -0
  2. package/dist/migration/index.d.ts.map +1 -1
  3. package/dist/migration/index.js +4 -1
  4. package/dist/migration/to/v3.22.0.d.ts +5 -0
  5. package/dist/migration/to/v3.22.0.d.ts.map +1 -0
  6. package/dist/migration/to/v3.22.0.js +44 -0
  7. package/dist/project-schema/index.d.ts +4 -1
  8. package/dist/project-schema/index.d.ts.map +1 -1
  9. package/dist/project-schema/index.js +20 -3
  10. package/dist/project-schema/latest.d.ts +15 -9
  11. package/dist/project-schema/latest.d.ts.map +1 -1
  12. package/dist/project-schema/migrate.d.ts.map +1 -1
  13. package/dist/project-schema/migrate.js +4 -0
  14. package/dist/project-schema/v3.22.0.d.ts +1345 -0
  15. package/dist/project-schema/v3.22.0.d.ts.map +1 -0
  16. package/dist/project-schema/v3.22.0.js +5 -0
  17. package/dist/schemas/index.d.ts +2 -2
  18. package/dist/schemas/index.d.ts.map +1 -1
  19. package/dist/schemas/index.js +6 -4
  20. package/dist/schemas/index.ts +4 -2
  21. package/dist/schemas/project-schema/latest.json +22 -18
  22. package/dist/schemas/project-schema/v3.22.0.json +2375 -0
  23. package/dist/schemas/project-schema.json +3 -0
  24. package/dist/types/types.d.ts +8 -2
  25. package/dist/types/types.d.ts.map +1 -1
  26. package/dist/util/api-indexing.d.ts +7 -1
  27. package/dist/util/api-indexing.d.ts.map +1 -1
  28. package/dist/util/api-indexing.js +27 -1
  29. package/dist/validate.d.ts.map +1 -1
  30. package/dist/validate.js +22 -1
  31. package/es/migration/index.js +3 -1
  32. package/es/migration/to/v3.22.0.js +33 -0
  33. package/es/project-schema/index.js +3 -1
  34. package/es/project-schema/migrate.js +5 -1
  35. package/es/project-schema/v3.22.0.js +1 -0
  36. package/es/schemas/index.js +4 -3
  37. package/es/schemas/index.ts +4 -2
  38. package/es/schemas/project-schema/latest.json +22 -18
  39. package/es/schemas/project-schema/v3.22.0.json +2375 -0
  40. package/es/schemas/project-schema.json +3 -0
  41. package/es/util/api-indexing.js +24 -1
  42. package/es/validate.js +22 -1
  43. package/examples/latest/betzino.json +1 -1
  44. package/examples/latest/blog-schema.json +1 -1
  45. package/examples/latest/brewery-schema.json +1 -1
  46. package/examples/latest/complex-project-schema.json +1 -1
  47. package/examples/latest/complex-schema.json +1 -1
  48. package/examples/latest/fabric-ecommerce.json +1 -1
  49. package/examples/latest/frank-and-fred-schema.json +1 -1
  50. package/examples/latest/klirr-schema.json +1 -1
  51. package/examples/latest/massive-schema.json +1 -1
  52. package/examples/latest/mill-components-schema.json +1 -1
  53. package/examples/latest/one-earth.json +1 -1
  54. package/examples/latest/pet-oneof-array.json +1 -1
  55. package/examples/latest/post-schema.json +1 -1
  56. package/examples/latest/pruned-shopify-product-schema.json +1 -1
  57. package/examples/latest/real-world-schema.json +1 -1
  58. package/examples/latest/recursive-repeater-schema.json +1 -1
  59. package/examples/latest/recursive-schema.json +1 -1
  60. package/examples/latest/rick-and-morty-ast.json +1 -1
  61. package/examples/latest/rick-and-morty-graphql.json +1 -1
  62. package/examples/latest/rick-and-morty-rest.json +1 -1
  63. package/examples/latest/schema-with-repeater-draftjs.json +1 -1
  64. package/examples/latest/shape-books-v3_2_0.json +1 -1
  65. package/examples/latest/shape-books.json +1 -1
  66. package/examples/latest/shopify-lookbook.json +1 -1
  67. package/examples/latest/shopify-product-2022-07.json +2 -2
  68. package/examples/latest/shopify-store-with-widget.json +1 -1
  69. package/examples/latest/stripe-product-runtime-schema.json +7 -6
  70. package/examples/latest/stripe-starter-resolved.json +1 -1
  71. package/examples/latest/user-schema-no-required.json +1 -1
  72. package/examples/latest/user-schema-with-defaults.json +1 -1
  73. package/package.json +4 -4
@@ -93,6 +93,9 @@
93
93
  {
94
94
  "$ref": "https://schema.takeshape.io/project-schema/v3.21.0#"
95
95
  },
96
+ {
97
+ "$ref": "https://schema.takeshape.io/project-schema/v3.22.0#"
98
+ },
96
99
  {
97
100
  "$ref": "https://schema.takeshape.io/project-schema/v4.0.0#"
98
101
  }
@@ -1,5 +1,5 @@
1
1
  import type { SetRequired, Merge, PartialDeep, SetOptional } from 'type-fest';
2
- import type { ProjectSchema, ProjectSchemaV3_0_0, ProjectSchemaV3_1_0, ProjectSchemaV3_2_0, ProjectSchemaV3_3_0, ProjectSchemaV3_4_0, ProjectSchemaV3_5_0, ProjectSchemaV3_5_1, ProjectSchemaV3_6_0, ProjectSchemaV3_7_0, ProjectSchemaV3_8_0, ProjectSchemaV3_9_0, ProjectSchemaV3_10_0, ProjectSchemaV3_11_0, ProjectSchemaV3_12_0, ProjectSchemaV3_12_1, ProjectSchemaV3_12_2, ProjectSchemaV3_12_3, ProjectSchemaV3_13_0, ProjectSchemaV3_14_0, ProjectSchemaV3_15_0, ProjectSchemaV3_16_0, ProjectSchemaV3_17_0, ProjectSchemaV3_17_1, ProjectSchemaV3_18_0, ProjectSchemaV3_18_1, ProjectSchemaV3_18_2, ProjectSchemaV3_19_0, ProjectSchemaV3_20_0, ProjectSchemaV3_21_0, Query, PropertySchema, StoredServiceMap, ServiceConfig, OAuth2Authentication, CustomAuthentication, ServiceAuthentication, AnyProjectSchema, Ref } from '../project-schema';
2
+ import type { ProjectSchema, ProjectSchemaV3_0_0, ProjectSchemaV3_1_0, ProjectSchemaV3_2_0, ProjectSchemaV3_3_0, ProjectSchemaV3_4_0, ProjectSchemaV3_5_0, ProjectSchemaV3_5_1, ProjectSchemaV3_6_0, ProjectSchemaV3_7_0, ProjectSchemaV3_8_0, ProjectSchemaV3_9_0, ProjectSchemaV3_10_0, ProjectSchemaV3_11_0, ProjectSchemaV3_12_0, ProjectSchemaV3_12_1, ProjectSchemaV3_12_2, ProjectSchemaV3_12_3, ProjectSchemaV3_13_0, ProjectSchemaV3_14_0, ProjectSchemaV3_15_0, ProjectSchemaV3_16_0, ProjectSchemaV3_17_0, ProjectSchemaV3_17_1, ProjectSchemaV3_18_0, ProjectSchemaV3_18_1, ProjectSchemaV3_18_2, ProjectSchemaV3_19_0, ProjectSchemaV3_20_0, ProjectSchemaV3_21_0, ProjectSchemaV3_22_0, Query, PropertySchema, StoredServiceMap, ServiceConfig, OAuth2Authentication, CustomAuthentication, ServiceAuthentication, AnyProjectSchema, Ref, IndexedShapeGetQueryConfig, IndexedShapeListQueryConfig, IndexedShapeQueryConfig } from '../project-schema';
3
3
  import type { Overwrite } from '@takeshape/util';
4
4
  import { SERVICE_OBJECT_PATTERN_NAME } from '../schema-util';
5
5
  /**
@@ -7,7 +7,7 @@ import { SERVICE_OBJECT_PATTERN_NAME } from '../schema-util';
7
7
  * only type used in most runtime code. Updating this to a new version should
8
8
  * trigger type errors that clue you in to code that needs review.
9
9
  */
10
- export declare type ProjectSchemaV3X = ProjectSchemaV3_21_0 | ProjectSchemaV3_20_0 | ProjectSchemaV3_19_0 | ProjectSchemaV3_18_2 | ProjectSchemaV3_18_1 | ProjectSchemaV3_18_0 | ProjectSchemaV3_17_1 | ProjectSchemaV3_17_0 | ProjectSchemaV3_16_0 | ProjectSchemaV3_15_0 | ProjectSchemaV3_14_0 | ProjectSchemaV3_13_0 | ProjectSchemaV3_12_3 | ProjectSchemaV3_12_2 | ProjectSchemaV3_12_1 | ProjectSchemaV3_12_0 | ProjectSchemaV3_11_0 | ProjectSchemaV3_10_0 | ProjectSchemaV3_9_0 | ProjectSchemaV3_8_0 | ProjectSchemaV3_7_0 | ProjectSchemaV3_6_0 | ProjectSchemaV3_5_1 | ProjectSchemaV3_5_0 | ProjectSchemaV3_4_0 | ProjectSchemaV3_3_0 | ProjectSchemaV3_2_0 | ProjectSchemaV3_1_0 | ProjectSchemaV3_0_0;
10
+ export declare type ProjectSchemaV3X = ProjectSchemaV3_22_0 | ProjectSchemaV3_21_0 | ProjectSchemaV3_20_0 | ProjectSchemaV3_19_0 | ProjectSchemaV3_18_2 | ProjectSchemaV3_18_1 | ProjectSchemaV3_18_0 | ProjectSchemaV3_17_1 | ProjectSchemaV3_17_0 | ProjectSchemaV3_16_0 | ProjectSchemaV3_15_0 | ProjectSchemaV3_14_0 | ProjectSchemaV3_13_0 | ProjectSchemaV3_12_3 | ProjectSchemaV3_12_2 | ProjectSchemaV3_12_1 | ProjectSchemaV3_12_0 | ProjectSchemaV3_11_0 | ProjectSchemaV3_10_0 | ProjectSchemaV3_9_0 | ProjectSchemaV3_8_0 | ProjectSchemaV3_7_0 | ProjectSchemaV3_6_0 | ProjectSchemaV3_5_1 | ProjectSchemaV3_5_0 | ProjectSchemaV3_4_0 | ProjectSchemaV3_3_0 | ProjectSchemaV3_2_0 | ProjectSchemaV3_1_0 | ProjectSchemaV3_0_0;
11
11
  export declare const projectSchemaImportOptionalProps: readonly ["projectId", "created", "updated", "dataKey", "version", "locales", "defaultLocale", "author"];
12
12
  export declare type ProjectSchemaImport = SetOptional<AnyProjectSchema, typeof projectSchemaImportOptionalProps[number]>;
13
13
  export interface Content {
@@ -183,5 +183,11 @@ export interface RelationshipEnv {
183
183
  schema: PropertySchema;
184
184
  shapeName: string;
185
185
  }
186
+ export declare type ListQueryIndexingConfig = IndexedShapeQueryConfig & IndexedShapeListQueryConfig & {
187
+ shapeName: string;
188
+ };
189
+ export declare type GetQueryIndexingConfig = IndexedShapeQueryConfig & IndexedShapeGetQueryConfig & {
190
+ shapeName: string;
191
+ };
186
192
  export {};
187
193
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
- import { ProjectSchema } from '../project-schema';
1
+ import type { ProjectSchema } from '../project-schema';
2
+ import type { Maybe } from '@takeshape/util';
3
+ import type { GetQueryIndexingConfig, ListQueryIndexingConfig } from '../types';
2
4
  export declare function serviceHasIndexedShapes(schema: ProjectSchema, serviceId: string): boolean;
5
+ declare type Getter<T> = (context: Pick<ProjectSchema, 'indexedShapes'>, shapeName: string) => Maybe<T>;
6
+ export declare const getListQueryIndexConfig: Getter<ListQueryIndexingConfig>;
7
+ export declare const getGetQueryIndexConfig: Getter<GetQueryIndexingConfig>;
8
+ export {};
3
9
  //# sourceMappingURL=api-indexing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-indexing.d.ts","sourceRoot":"","sources":["../../../src/util/api-indexing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAGhD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAUzF"}
1
+ {"version":3,"file":"api-indexing.d.ts","sourceRoot":"","sources":["../../../src/util/api-indexing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAC,sBAAsB,EAAE,uBAAuB,EAAC,MAAM,UAAU,CAAC;AAG9E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAUzF;AAED,aAAK,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AAoBhG,eAAO,MAAM,uBAAuB,iCAAoC,CAAC;AACzE,eAAO,MAAM,sBAAsB,gCAAmC,CAAC"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.getListQueryIndexConfig = exports.getGetQueryIndexConfig = void 0;
6
7
  exports.serviceHasIndexedShapes = serviceHasIndexedShapes;
7
8
 
8
9
  var _types = require("../types");
@@ -20,4 +21,29 @@ function serviceHasIndexedShapes(schema, serviceId) {
20
21
  }
21
22
 
22
23
  return false;
23
- }
24
+ }
25
+
26
+ function getQueryIndexConfigHelper(op) {
27
+ return ({
28
+ indexedShapes
29
+ }, shapeName) => {
30
+ const indexingConfig = indexedShapes === null || indexedShapes === void 0 ? void 0 : indexedShapes[shapeName];
31
+
32
+ if (indexingConfig) {
33
+ const queryConfig = indexingConfig.queries[op];
34
+
35
+ if (queryConfig) {
36
+ return {
37
+ shapeName,
38
+ ...indexingConfig.query,
39
+ ...queryConfig
40
+ };
41
+ }
42
+ }
43
+ };
44
+ }
45
+
46
+ const getListQueryIndexConfig = getQueryIndexConfigHelper('list');
47
+ exports.getListQueryIndexConfig = getListQueryIndexConfig;
48
+ const getGetQueryIndexConfig = getQueryIndexConfigHelper('get');
49
+ exports.getGetQueryIndexConfig = getGetQueryIndexConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,WAAW,EAAC,MAAM,KAAK,CAAC;AACvD,OAAO,KAAK,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAmB,mBAAmB,EAAC,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAEV,gBAAgB,EAChB,aAAa,EASb,iBAAiB,EAUlB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAwB,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AA0pBnF,oBAAY,sBAAsB,GAC9B;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAC,GAC1D;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,yBAAyB,EAAE,CAAA;CAAC,CAAC;AAE3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,yBAAyB,CAuBzE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,sBAAsB,CAAC;CAClF;AACD,MAAM,WAAW,eAAe;IAC9B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,CAAC;CACnE;AAuKD;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,sBAAsB,CAqB9F;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAgBnE;AAgBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAQpE;AAgBD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAQlE;AAqBD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,OAAO,GAAG,mBAAmB,CAarF"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,WAAW,EAAC,MAAM,KAAK,CAAC;AACvD,OAAO,KAAK,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAmB,mBAAmB,EAAC,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAEV,gBAAgB,EAChB,aAAa,EASb,iBAAiB,EAUlB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAwB,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AA+qBnF,oBAAY,sBAAsB,GAC9B;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAC,GAC1D;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,yBAAyB,EAAE,CAAA;CAAC,CAAC;AAE3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,yBAAyB,CAuBzE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,sBAAsB,CAAC;CAClF;AACD,MAAM,WAAW,eAAe;IAC9B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,CAAC;CACnE;AAuKD;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,sBAAsB,CAqB9F;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAgBnE;AAgBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAQpE;AAgBD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAQlE;AAqBD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,OAAO,GAAG,mBAAmB,CAarF"}
package/dist/validate.js CHANGED
@@ -354,8 +354,17 @@ function validateQueryConfigs(projectSchema, additionalShapeNames = builtInShape
354
354
  return errors;
355
355
  }
356
356
 
357
+ function hasIdField(selectionSet, idField) {
358
+ // TODO allow GraphQL parser implementation to be passed in
359
+ const topLevel = selectionSet.replace(/^\s*{\s*/, '') // remove first {
360
+ .replace(/\s*}\s*$/, '') // remove last {
361
+ .replace(/{[^}]*}|:/g, '') // remove nested selections and :
362
+ .split(/\s+/g);
363
+ return topLevel.includes(idField);
364
+ }
365
+
357
366
  function validateIndexedShapeConfig(projectSchema, shapeName, config) {
358
- var _config$queries;
367
+ var _config$queries, _config$query;
359
368
 
360
369
  const errors = [];
361
370
  const list = (_config$queries = config.queries) === null || _config$queries === void 0 ? void 0 : _config$queries.list;
@@ -370,6 +379,18 @@ function validateIndexedShapeConfig(projectSchema, shapeName, config) {
370
379
  }
371
380
  }
372
381
 
382
+ if ((_config$query = config.query) !== null && _config$query !== void 0 && _config$query.selectionSet) {
383
+ const idField = config.idField ?? 'id';
384
+
385
+ if (!hasIdField(config.query.selectionSet, idField)) {
386
+ errors.push({
387
+ path: ['indexedShapes', shapeName, 'query', 'selectionSet'],
388
+ type: 'notFound',
389
+ message: `selectionSet must contain "${idField}"`
390
+ });
391
+ }
392
+ }
393
+
373
394
  return errors;
374
395
  }
375
396
 
@@ -27,6 +27,7 @@ import migrateToV3_18_2 from './to/v3.18.2';
27
27
  import migrateToV3_19_0 from './to/v3.19.0';
28
28
  import migrateToV3_20_0 from './to/v3.20.0';
29
29
  import migrateToV3_21_0 from './to/v3.21.0';
30
+ import migrateToV3_22_0 from './to/v3.22.0';
30
31
  export const migrateTo = {
31
32
  'v3.0.0': migrateToV3_0_0,
32
33
  'v3.1.0': migrateToV3_1_0,
@@ -56,7 +57,8 @@ export const migrateTo = {
56
57
  'v3.18.2': migrateToV3_18_2,
57
58
  'v3.19.0': migrateToV3_19_0,
58
59
  'v3.20.0': migrateToV3_20_0,
59
- 'v3.21.0': migrateToV3_21_0
60
+ 'v3.21.0': migrateToV3_21_0,
61
+ 'v3.22.0': migrateToV3_22_0
60
62
  };
61
63
  export * from './utils';
62
64
  export const listTypePrefix = 'PaginatedList';
@@ -0,0 +1,33 @@
1
+ import mapValues from 'lodash/mapValues';
2
+ import omit from 'lodash/omit';
3
+
4
+ const migrate = async (_, projectSchema) => {
5
+ const {
6
+ indexedShapes,
7
+ ...rest
8
+ } = projectSchema;
9
+ const migrated = { ...rest,
10
+ schemaVersion: '3.22.0'
11
+ };
12
+
13
+ if (indexedShapes) {
14
+ migrated.indexedShapes = mapValues(indexedShapes, indexedShape => {
15
+ // objectDepthLimit SHOULD be the same, so prefer list query which is more likely to be used
16
+ const {
17
+ ignoreFields,
18
+ objectDepthLimit
19
+ } = indexedShape.queries.list ?? indexedShape.queries.get ?? {};
20
+ return { ...indexedShape,
21
+ query: {
22
+ ignoreFields,
23
+ maxDepth: objectDepthLimit
24
+ },
25
+ queries: mapValues(indexedShape.queries, config => config && omit(config, ['ignoreFields', 'objectDepthLimit']))
26
+ };
27
+ });
28
+ }
29
+
30
+ return migrated;
31
+ };
32
+
33
+ export default migrate;
@@ -30,6 +30,7 @@ export * from './v3.18.2';
30
30
  export * from './v3.19.0';
31
31
  export * from './v3.20.0';
32
32
  export * from './v3.21.0';
33
+ export * from './v3.22.0';
33
34
  export * from './v4.0.0';
34
35
 
35
36
  // Schema type utilities
@@ -81,5 +82,6 @@ export const isProjectSchemaV3_18_2 = createVersionPredicate('3.18.2');
81
82
  export const isProjectSchemaV3_19_0 = createVersionPredicate('3.19.0');
82
83
  export const isProjectSchemaV3_20_0 = createVersionPredicate('3.20.0');
83
84
  export const isProjectSchemaV3_21_0 = createVersionPredicate('3.21.0');
84
- export const isLatestProjectSchema = createVersionPredicate('3.21.0');
85
+ export const isProjectSchemaV3_22_0 = createVersionPredicate('3.22.0');
86
+ export const isLatestProjectSchema = createVersionPredicate('3.22.0');
85
87
  export const isProjectSchemaV4_0_0 = createVersionPredicate('4.0.0');
@@ -1,6 +1,6 @@
1
1
  // This file is generated by "pnpm json2ts"
2
2
  import { migrateTo } from '../migration';
3
- import { isProjectSchemaV1_0_0, isProjectSchemaV3_0_0, isProjectSchemaV3_1_0, isProjectSchemaV3_2_0, isProjectSchemaV3_3_0, isProjectSchemaV3_4_0, isProjectSchemaV3_5_0, isProjectSchemaV3_5_1, isProjectSchemaV3_6_0, isProjectSchemaV3_7_0, isProjectSchemaV3_8_0, isProjectSchemaV3_9_0, isProjectSchemaV3_10_0, isProjectSchemaV3_11_0, isProjectSchemaV3_12_0, isProjectSchemaV3_12_1, isProjectSchemaV3_12_2, isProjectSchemaV3_12_3, isProjectSchemaV3_13_0, isProjectSchemaV3_14_0, isProjectSchemaV3_15_0, isProjectSchemaV3_16_0, isProjectSchemaV3_17_0, isProjectSchemaV3_17_1, isProjectSchemaV3_18_0, isProjectSchemaV3_18_1, isProjectSchemaV3_18_2, isProjectSchemaV3_19_0, isProjectSchemaV3_20_0, isProjectSchemaV4_0_0, isLatestProjectSchema } from './index'; // eslint-disable-next-line complexity
3
+ import { isProjectSchemaV1_0_0, isProjectSchemaV3_0_0, isProjectSchemaV3_1_0, isProjectSchemaV3_2_0, isProjectSchemaV3_3_0, isProjectSchemaV3_4_0, isProjectSchemaV3_5_0, isProjectSchemaV3_5_1, isProjectSchemaV3_6_0, isProjectSchemaV3_7_0, isProjectSchemaV3_8_0, isProjectSchemaV3_9_0, isProjectSchemaV3_10_0, isProjectSchemaV3_11_0, isProjectSchemaV3_12_0, isProjectSchemaV3_12_1, isProjectSchemaV3_12_2, isProjectSchemaV3_12_3, isProjectSchemaV3_13_0, isProjectSchemaV3_14_0, isProjectSchemaV3_15_0, isProjectSchemaV3_16_0, isProjectSchemaV3_17_0, isProjectSchemaV3_17_1, isProjectSchemaV3_18_0, isProjectSchemaV3_18_1, isProjectSchemaV3_18_2, isProjectSchemaV3_19_0, isProjectSchemaV3_20_0, isProjectSchemaV3_21_0, isProjectSchemaV4_0_0, isLatestProjectSchema } from './index'; // eslint-disable-next-line complexity
4
4
 
5
5
  export async function migrateToLatestProjectSchema(context, projectSchema) {
6
6
  if (isLatestProjectSchema(projectSchema)) {
@@ -123,6 +123,10 @@ export async function migrateToLatestProjectSchema(context, projectSchema) {
123
123
  projectSchema = await migrateTo['v3.21.0'](context, projectSchema);
124
124
  }
125
125
 
126
+ if (isProjectSchemaV3_21_0(projectSchema)) {
127
+ projectSchema = await migrateTo['v3.22.0'](context, projectSchema);
128
+ }
129
+
126
130
  if (isProjectSchemaV4_0_0(projectSchema)) {
127
131
  throw new Error('You are using an unreleased schema version. Migration is not possible');
128
132
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,7 +1,7 @@
1
1
  // This file is generated by "pnpm json2ts"
2
- export const CURRENT_SCHEMA_VERSION = '3.21.0';
2
+ export const CURRENT_SCHEMA_VERSION = '3.22.0';
3
3
  export { default as anyProjectSchema } from './project-schema.json';
4
- export { default as latestSchemaJson } from './project-schema/v3.21.0.json';
4
+ export { default as latestSchemaJson } from './project-schema/v3.22.0.json';
5
5
  import metaSchemaV1_0_0 from './project-schema/meta-schema-v1.0.0.json';
6
6
  import projectSchemaV1_0_0 from './project-schema/v1.0.0.json';
7
7
  import metaSchemaV3_0_0 from './project-schema/meta-schema-v3.0.0.json';
@@ -44,5 +44,6 @@ import projectSchemaV3_18_2 from './project-schema/v3.18.2.json';
44
44
  import projectSchemaV3_19_0 from './project-schema/v3.19.0.json';
45
45
  import projectSchemaV3_20_0 from './project-schema/v3.20.0.json';
46
46
  import projectSchemaV3_21_0 from './project-schema/v3.21.0.json';
47
+ import projectSchemaV3_22_0 from './project-schema/v3.22.0.json';
47
48
  import projectSchemaV4_0_0 from './project-schema/v4.0.0.json';
48
- export const allProjectSchemas = [metaSchemaV1_0_0, projectSchemaV1_0_0, metaSchemaV3_0_0, projectSchemaV3_0_0, metaSchemaV3_1_0, projectSchemaV3_1_0, metaSchemaV3_2_0, projectSchemaV3_2_0, metaSchemaV3_3_0, projectSchemaV3_3_0, metaSchemaV3_4_0, projectSchemaV3_4_0, metaSchemaV3_5_0, projectSchemaV3_5_0, metaSchemaV3_5_1, projectSchemaV3_5_1, metaSchemaV3_6_0, projectSchemaV3_6_0, metaSchemaV3_7_0, projectSchemaV3_7_0, metaSchemaV3_8_0, projectSchemaV3_8_0, metaSchemaV3_9_0, projectSchemaV3_9_0, projectSchemaV3_10_0, projectSchemaV3_11_0, projectSchemaV3_12_0, projectSchemaV3_12_1, projectSchemaV3_12_2, projectSchemaV3_12_3, projectSchemaV3_13_0, projectSchemaV3_14_0, projectSchemaV3_15_0, projectSchemaV3_16_0, projectSchemaV3_17_0, projectSchemaV3_17_1, projectSchemaV3_18_0, projectSchemaV3_18_1, projectSchemaV3_18_2, projectSchemaV3_19_0, projectSchemaV3_20_0, projectSchemaV3_21_0, projectSchemaV4_0_0];
49
+ export const allProjectSchemas = [metaSchemaV1_0_0, projectSchemaV1_0_0, metaSchemaV3_0_0, projectSchemaV3_0_0, metaSchemaV3_1_0, projectSchemaV3_1_0, metaSchemaV3_2_0, projectSchemaV3_2_0, metaSchemaV3_3_0, projectSchemaV3_3_0, metaSchemaV3_4_0, projectSchemaV3_4_0, metaSchemaV3_5_0, projectSchemaV3_5_0, metaSchemaV3_5_1, projectSchemaV3_5_1, metaSchemaV3_6_0, projectSchemaV3_6_0, metaSchemaV3_7_0, projectSchemaV3_7_0, metaSchemaV3_8_0, projectSchemaV3_8_0, metaSchemaV3_9_0, projectSchemaV3_9_0, projectSchemaV3_10_0, projectSchemaV3_11_0, projectSchemaV3_12_0, projectSchemaV3_12_1, projectSchemaV3_12_2, projectSchemaV3_12_3, projectSchemaV3_13_0, projectSchemaV3_14_0, projectSchemaV3_15_0, projectSchemaV3_16_0, projectSchemaV3_17_0, projectSchemaV3_17_1, projectSchemaV3_18_0, projectSchemaV3_18_1, projectSchemaV3_18_2, projectSchemaV3_19_0, projectSchemaV3_20_0, projectSchemaV3_21_0, projectSchemaV3_22_0, projectSchemaV4_0_0];
@@ -1,7 +1,7 @@
1
1
  // This file is generated by "pnpm json2ts"
2
- export const CURRENT_SCHEMA_VERSION = '3.21.0';
2
+ export const CURRENT_SCHEMA_VERSION = '3.22.0';
3
3
  export {default as anyProjectSchema} from './project-schema.json';
4
- export {default as latestSchemaJson} from './project-schema/v3.21.0.json';
4
+ export {default as latestSchemaJson} from './project-schema/v3.22.0.json';
5
5
  import metaSchemaV1_0_0 from './project-schema/meta-schema-v1.0.0.json';
6
6
  import projectSchemaV1_0_0 from './project-schema/v1.0.0.json';
7
7
  import metaSchemaV3_0_0 from './project-schema/meta-schema-v3.0.0.json';
@@ -44,6 +44,7 @@ import projectSchemaV3_18_2 from './project-schema/v3.18.2.json';
44
44
  import projectSchemaV3_19_0 from './project-schema/v3.19.0.json';
45
45
  import projectSchemaV3_20_0 from './project-schema/v3.20.0.json';
46
46
  import projectSchemaV3_21_0 from './project-schema/v3.21.0.json';
47
+ import projectSchemaV3_22_0 from './project-schema/v3.22.0.json';
47
48
  import projectSchemaV4_0_0 from './project-schema/v4.0.0.json';
48
49
  export const allProjectSchemas = [
49
50
  metaSchemaV1_0_0,
@@ -88,5 +89,6 @@ export const allProjectSchemas = [
88
89
  projectSchemaV3_19_0,
89
90
  projectSchemaV3_20_0,
90
91
  projectSchemaV3_21_0,
92
+ projectSchemaV3_22_0,
91
93
  projectSchemaV4_0_0
92
94
  ];
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://schema.takeshape.io/project-schema/v3.21.0#",
3
+ "$id": "https://schema.takeshape.io/project-schema/v3.22.0#",
4
4
  "title": "Project Schema",
5
5
  "definitions": {
6
6
  "schemaArray": {
@@ -1597,6 +1597,9 @@
1597
1597
  "searchSummaryField": {
1598
1598
  "type": "string"
1599
1599
  },
1600
+ "query": {
1601
+ "$ref": "#/definitions/indexedShapeQueryConfig"
1602
+ },
1600
1603
  "queries": {
1601
1604
  "$ref": "#/definitions/indexedShapeQueriesConfig"
1602
1605
  },
@@ -1623,22 +1626,32 @@
1623
1626
  },
1624
1627
  "additionalProperties": false
1625
1628
  },
1626
- "indexedShapeListQueryConfig": {
1627
- "title": "Indexed Shape Query All Config",
1629
+ "indexedShapeQueryConfig": {
1630
+ "title": "Indexed Shape Query Config",
1628
1631
  "type": "object",
1629
1632
  "properties": {
1630
- "name": {
1631
- "type": "string"
1632
- },
1633
1633
  "ignoreFields": {
1634
1634
  "type": "array",
1635
1635
  "items": {
1636
1636
  "type": "string"
1637
1637
  }
1638
1638
  },
1639
- "objectDepthLimit": {
1639
+ "maxDepth": {
1640
1640
  "type": "number"
1641
1641
  },
1642
+ "selectionSet": {
1643
+ "type": "string"
1644
+ }
1645
+ },
1646
+ "additionalProperties": false
1647
+ },
1648
+ "indexedShapeListQueryConfig": {
1649
+ "title": "Indexed Shape List Query Config",
1650
+ "type": "object",
1651
+ "properties": {
1652
+ "name": {
1653
+ "type": "string"
1654
+ },
1642
1655
  "pagination": {
1643
1656
  "$ref": "#/definitions/paginationConfig"
1644
1657
  }
@@ -1647,21 +1660,12 @@
1647
1660
  "required": ["name"]
1648
1661
  },
1649
1662
  "indexedShapeGetQueryConfig": {
1650
- "title": "Indexed Shape Query Single Config",
1663
+ "title": "Indexed Shape Get Query Config",
1651
1664
  "type": "object",
1652
1665
  "properties": {
1653
1666
  "name": {
1654
1667
  "type": "string"
1655
1668
  },
1656
- "ignoreFields": {
1657
- "type": "array",
1658
- "items": {
1659
- "type": "string"
1660
- }
1661
- },
1662
- "objectDepthLimit": {
1663
- "type": "number"
1664
- },
1665
1669
  "idArg": {
1666
1670
  "type": "string"
1667
1671
  }
@@ -2280,7 +2284,7 @@
2280
2284
  },
2281
2285
  "schemaVersion": {
2282
2286
  "type": "string",
2283
- "enum": ["3.21.0"],
2287
+ "enum": ["3.22.0"],
2284
2288
  "description": "The version of the schema format your project is using. We increase the version as we make breaking changes to the schema format."
2285
2289
  },
2286
2290
  "projectId": {