@takeshape/schema 7.205.0 → 7.207.1
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/es/schema-util.js +24 -2
- package/lib/schema-util.d.ts +5 -0
- package/lib/schema-util.d.ts.map +1 -1
- package/lib/schema-util.js +26 -2
- package/package.json +4 -4
package/es/schema-util.js
CHANGED
|
@@ -353,8 +353,30 @@ export function mergeFormProperties(base, overrides) {
|
|
|
353
353
|
}
|
|
354
354
|
|
|
355
355
|
return result;
|
|
356
|
+
} // Dependencies of these built-in shapes are automatically added by getBuiltinsUsed
|
|
357
|
+
|
|
358
|
+
const requiredBuiltinShapes = ['Asset', 'TSRelationship', 'TsStaticSite'];
|
|
359
|
+
/**
|
|
360
|
+
* Get all built-in shapes that are depended on by the given project schema.
|
|
361
|
+
* Required built-in shapes are always included.
|
|
362
|
+
*/
|
|
363
|
+
|
|
364
|
+
export function getBuiltinsUsed(projectSchema) {
|
|
365
|
+
const builtinsUsed = {};
|
|
366
|
+
const shapeNames = uniq(requiredBuiltinShapes.concat(getAllRefs(projectSchema, refItem => refItem.serviceKey === 'local' && isBuiltinShape(refItem.typeName)).map(refItemToShapeName)));
|
|
367
|
+
const schemaWithAllBuiltins = { ...emptySchema('project-id', 'data-key'),
|
|
368
|
+
shapes: builtInShapes
|
|
369
|
+
};
|
|
370
|
+
shapeNames.forEach(builtinShapeName => {
|
|
371
|
+
builtinsUsed[builtinShapeName] = builtInShapes[builtinShapeName];
|
|
372
|
+
getShapeDependencies(schemaWithAllBuiltins, builtInShapes[builtinShapeName]).forEach(depShapeName => {
|
|
373
|
+
builtinsUsed[depShapeName] = builtInShapes[depShapeName];
|
|
374
|
+
});
|
|
375
|
+
});
|
|
376
|
+
return builtinsUsed;
|
|
356
377
|
}
|
|
357
378
|
export function applyDefaultsToSchema(projectSchema) {
|
|
379
|
+
const builtinsUsed = getBuiltinsUsed(projectSchema);
|
|
358
380
|
return { ...projectSchema,
|
|
359
381
|
workflows: { ...projectSchema.workflows,
|
|
360
382
|
...(workflowsEnabled(projectSchema.apiVersion) && {
|
|
@@ -367,10 +389,10 @@ export function applyDefaultsToSchema(projectSchema) {
|
|
|
367
389
|
mutations: { ...builtInQueriesAndMutations.mutations,
|
|
368
390
|
...projectSchema.mutations
|
|
369
391
|
},
|
|
370
|
-
shapes: mapValues({ ...
|
|
392
|
+
shapes: mapValues({ ...builtinsUsed,
|
|
371
393
|
...projectSchema.shapes
|
|
372
394
|
}, shape => {
|
|
373
|
-
const builtInShape =
|
|
395
|
+
const builtInShape = builtinsUsed[shape.name];
|
|
374
396
|
|
|
375
397
|
if (builtInShape && builtInShape !== shape) {
|
|
376
398
|
shape = { ...shape,
|
package/lib/schema-util.d.ts
CHANGED
|
@@ -31,6 +31,11 @@ export declare const getBuiltInPropertyNames: (apiVersion?: string) => Set<strin
|
|
|
31
31
|
export declare function applyBuiltinPropertiesToShape(projectSchema: ProjectSchema, shape: Shape): Shape;
|
|
32
32
|
export declare function mergeSchemaProperties(base: ObjectSchema, overrides: ObjectSchema): ContentObjectSchema;
|
|
33
33
|
export declare function mergeFormProperties(base: FormConfig, overrides: FormConfig): FormConfig;
|
|
34
|
+
/**
|
|
35
|
+
* Get all built-in shapes that are depended on by the given project schema.
|
|
36
|
+
* Required built-in shapes are always included.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getBuiltinsUsed(projectSchema: ProjectSchema): ShapeMap;
|
|
34
39
|
export declare function applyDefaultsToSchema(projectSchema: ProjectSchema): ProjectSchema;
|
|
35
40
|
/**
|
|
36
41
|
* Finds all relationships in the schema and returns an object indexed by shape.id that lists all of the shapes
|
package/lib/schema-util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-util.d.ts","sourceRoot":"","sources":["../../src/schema-util.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,UAAU,EAEV,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,aAAa,EAEd,MAAM,kBAAkB,CAAC;AAe1B,OAAO,EAAC,KAAK,EAAuB,MAAM,iBAAiB,CAAC;AAO5D,OAAO,EACL,+BAA+B,EAC/B,UAAU,EACV,WAAW,EAEX,cAAc,EAOd,kBAAkB,EAClB,kBAAkB,EAGlB,gBAAgB,EAChB,UAAU,EACV,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAQL,OAAO,EAIP,eAAe,EACf,qBAAqB,EACtB,MAAM,QAAQ,CAAC;AAGhB,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAEpE,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzD;AAID,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAG7F;AAED,eAAO,MAAM,kBAAkB,UAU9B,CAAC;AACF,eAAO,MAAM,gBAAgB,UAAyD,CAAC;AAEvF,eAAO,MAAM,gBAAgB,UAY5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAkD,CAAC;AAEhF,eAAO,MAAM,eAAe,UAA2F,CAAC;AAExH,eAAO,MAAM,8BAA8B,UAAkD,CAAC;AAG9F,eAAO,MAAM,uBAAuB,UAOnC,CAAC;AA6CF,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEtE;AAMD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAGD,wBAAgB,cAAc,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAsDxG;AAGD,wBAAgB,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,GAAG,MAAM,EAAE,CA0CpG;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG;IAAC,OAAO,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAC,CAwFxG;AAED,wBAAgB,oBAAoB,CAAC,UAAU,GAAE,MAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAgB5G;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,sCAGjC,CAAC;AAEJ,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAY/F;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,mBAAmB,CAetG;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,UAAU,CAevF;AAED,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"schema-util.d.ts","sourceRoot":"","sources":["../../src/schema-util.ts"],"names":[],"mappings":"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"}
|
package/lib/schema-util.js
CHANGED
|
@@ -16,6 +16,7 @@ exports.getBuiltInProperties = getBuiltInProperties;
|
|
|
16
16
|
exports.applyBuiltinPropertiesToShape = applyBuiltinPropertiesToShape;
|
|
17
17
|
exports.mergeSchemaProperties = mergeSchemaProperties;
|
|
18
18
|
exports.mergeFormProperties = mergeFormProperties;
|
|
19
|
+
exports.getBuiltinsUsed = getBuiltinsUsed;
|
|
19
20
|
exports.applyDefaultsToSchema = applyDefaultsToSchema;
|
|
20
21
|
exports.findExistingRelationships = findExistingRelationships;
|
|
21
22
|
exports.stringifyQuerySource = stringifyQuerySource;
|
|
@@ -465,9 +466,32 @@ function mergeFormProperties(base, overrides) {
|
|
|
465
466
|
}
|
|
466
467
|
|
|
467
468
|
return result;
|
|
469
|
+
} // Dependencies of these built-in shapes are automatically added by getBuiltinsUsed
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
const requiredBuiltinShapes = ['Asset', 'TSRelationship', 'TsStaticSite'];
|
|
473
|
+
/**
|
|
474
|
+
* Get all built-in shapes that are depended on by the given project schema.
|
|
475
|
+
* Required built-in shapes are always included.
|
|
476
|
+
*/
|
|
477
|
+
|
|
478
|
+
function getBuiltinsUsed(projectSchema) {
|
|
479
|
+
const builtinsUsed = {};
|
|
480
|
+
const shapeNames = (0, _uniq.default)(requiredBuiltinShapes.concat(getAllRefs(projectSchema, refItem => refItem.serviceKey === 'local' && isBuiltinShape(refItem.typeName)).map(_refs.refItemToShapeName)));
|
|
481
|
+
const schemaWithAllBuiltins = { ...emptySchema('project-id', 'data-key'),
|
|
482
|
+
shapes: _builtinSchema.builtInShapes
|
|
483
|
+
};
|
|
484
|
+
shapeNames.forEach(builtinShapeName => {
|
|
485
|
+
builtinsUsed[builtinShapeName] = _builtinSchema.builtInShapes[builtinShapeName];
|
|
486
|
+
getShapeDependencies(schemaWithAllBuiltins, _builtinSchema.builtInShapes[builtinShapeName]).forEach(depShapeName => {
|
|
487
|
+
builtinsUsed[depShapeName] = _builtinSchema.builtInShapes[depShapeName];
|
|
488
|
+
});
|
|
489
|
+
});
|
|
490
|
+
return builtinsUsed;
|
|
468
491
|
}
|
|
469
492
|
|
|
470
493
|
function applyDefaultsToSchema(projectSchema) {
|
|
494
|
+
const builtinsUsed = getBuiltinsUsed(projectSchema);
|
|
471
495
|
return { ...projectSchema,
|
|
472
496
|
workflows: { ...projectSchema.workflows,
|
|
473
497
|
...((0, _apiVersion.workflowsEnabled)(projectSchema.apiVersion) && {
|
|
@@ -480,10 +504,10 @@ function applyDefaultsToSchema(projectSchema) {
|
|
|
480
504
|
mutations: { ...builtInQueriesAndMutations.mutations,
|
|
481
505
|
...projectSchema.mutations
|
|
482
506
|
},
|
|
483
|
-
shapes: (0, _mapValues.default)({ ...
|
|
507
|
+
shapes: (0, _mapValues.default)({ ...builtinsUsed,
|
|
484
508
|
...projectSchema.shapes
|
|
485
509
|
}, shape => {
|
|
486
|
-
const builtInShape =
|
|
510
|
+
const builtInShape = builtinsUsed[shape.name];
|
|
487
511
|
|
|
488
512
|
if (builtInShape && builtInShape !== shape) {
|
|
489
513
|
shape = { ...shape,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@takeshape/schema",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.207.1",
|
|
4
4
|
"description": "TakeShape Schema",
|
|
5
5
|
"homepage": "https://www.takeshape.io",
|
|
6
6
|
"repository": {
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"examples"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@takeshape/errors": "7.
|
|
25
|
-
"@takeshape/json-schema": "7.
|
|
26
|
-
"@takeshape/util": "7.
|
|
24
|
+
"@takeshape/errors": "7.207.1",
|
|
25
|
+
"@takeshape/json-schema": "7.207.1",
|
|
26
|
+
"@takeshape/util": "7.207.1",
|
|
27
27
|
"ajv": "^7.0.4",
|
|
28
28
|
"ajv-formats": "^1.5.1",
|
|
29
29
|
"lodash": "^4.17.20",
|