@takeshape/schema 8.112.0 → 8.116.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.
@@ -1,5 +1,5 @@
1
- import type { SetRequired, Merge, PartialDeep } 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, Query, PropertySchema, StoredServiceMap, ServiceConfig, OAuth2Authentication, CustomAuthentication, ServiceAuthentication } from '../project-schema';
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, Query, PropertySchema, StoredServiceMap, ServiceConfig, OAuth2Authentication, CustomAuthentication, ServiceAuthentication, AnyProjectSchema } from '../project-schema';
3
3
  import type { Overwrite } from '@takeshape/util';
4
4
  import { SERVICE_OBJECT_PATTERN_NAME } from '../schema-util';
5
5
  /**
@@ -8,6 +8,8 @@ import { SERVICE_OBJECT_PATTERN_NAME } from '../schema-util';
8
8
  * trigger type errors that clue you in to code that needs review.
9
9
  */
10
10
  export declare type ProjectSchemaV3X = 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
+ export declare const projectSchemaImportOptionalProps: readonly ["projectId", "created", "updated", "dataKey", "version", "locales", "defaultLocale", "author"];
12
+ export declare type ProjectSchemaImport = SetOptional<AnyProjectSchema, typeof projectSchemaImportOptionalProps[number]>;
11
13
  export interface Content {
12
14
  [name: string]: any;
13
15
  _id: string;
@@ -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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"}
@@ -3,31 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.RefType = exports.ArgsType = void 0;
6
+ exports.projectSchemaImportOptionalProps = exports.RefType = exports.ArgsType = void 0;
7
7
 
8
8
  /**
9
9
  * An alias for the latest version of the project schema. This should be the
10
10
  * only type used in most runtime code. Updating this to a new version should
11
11
  * trigger type errors that clue you in to code that needs review.
12
12
  */
13
-
14
- /**
15
- * Remote service configuration types
16
- */
17
-
18
- /**
19
- * Old service authentication
20
- * @deprecated
21
- */
22
-
23
- /**
24
- * Support null sentinels for authentication
25
- */
26
-
27
- /**
28
- * A type suitable for service object updates, mostly concerns authentication
29
- * requirements.
30
- */
13
+ const projectSchemaImportOptionalProps = ['projectId', 'created', 'updated', 'dataKey', 'version', 'locales', 'defaultLocale', 'author'];
14
+ exports.projectSchemaImportOptionalProps = projectSchemaImportOptionalProps;
31
15
 
32
16
  /**
33
17
  * Types of refs
@@ -1,5 +1,6 @@
1
1
  import type { ErrorObject } from 'ajv';
2
2
  import type { RoleImport, RoleInput } from './auth-schemas';
3
+ import type { ProjectSchemaImport } from './types/types';
3
4
  import type { AnyProjectSchema, ProjectSchema, LayerSchemaV4_0_0 } from './project-schema';
4
5
  import { SchemaValidationErrorItem } from '@takeshape/errors';
5
6
  export declare type SchemaValidationResult = {
@@ -21,6 +22,7 @@ export interface Validation {
21
22
  export interface ValidateOptions {
22
23
  additionalShapeNames?: string[];
23
24
  additionalModelShapeIds?: string[];
25
+ suppressErrorPaths?: string[];
24
26
  resolveLayer?: (layerId: string) => LayerSchemaV4_0_0 | undefined;
25
27
  }
26
28
  /**
@@ -41,8 +43,7 @@ export declare function validateRoleImport(maybeRoles: unknown): RoleImport;
41
43
  * Only use when validating an imported schema!
42
44
  *
43
45
  * New style validation for parity with the `validateRoleImport` fn. Returns
44
- * a valid, and potentially cleaned `AnyProjectSchema` or throws a
45
- * `SchemaValidationError`.
46
+ * a valid, clean `ImportProjectSchema` or throws a `SchemaValidationError`.
46
47
  */
47
- export declare function validateProjectSchemaImport(maybeSchema: unknown): AnyProjectSchema;
48
+ export declare function validateProjectSchemaImport(maybeSchema: unknown): ProjectSchemaImport;
48
49
  //# sourceMappingURL=validate.d.ts.map
@@ -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;AAE1D,OAAO,KAAK,EAEV,gBAAgB,EAChB,aAAa,EASb,iBAAiB,EAGlB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAwB,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AAkdnF,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,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,CAAC;CACnE;AA6ID;;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;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,OAAO,GAAG,gBAAgB,CASlF"}
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,EAGlB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAwB,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AAwcnF,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;AAqKD;;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
@@ -10,6 +10,8 @@ exports.validateRoleImport = validateRoleImport;
10
10
  exports.validateRoleInput = validateRoleInput;
11
11
  exports.validateSchema = validateSchema;
12
12
 
13
+ var _types = require("./types/types");
14
+
13
15
  var _jsonSchema = require("@takeshape/json-schema");
14
16
 
15
17
  var _errors = require("@takeshape/errors");
@@ -54,6 +56,8 @@ var _metaSchemaV = _interopRequireDefault(require("./schemas/project-schema/meta
54
56
 
55
57
  var _util = require("@takeshape/util");
56
58
 
59
+ var _forOwn = _interopRequireDefault(require("lodash/forOwn"));
60
+
57
61
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
58
62
 
59
63
  function findDuplicates(items) {
@@ -334,7 +338,7 @@ function validateIndexedShapeConfig(projectSchema, shapeName, config) {
334
338
  return errors;
335
339
  }
336
340
 
337
- function validateIndexedShapes(projectSchema, additionalShapeNames) {
341
+ function validateIndexedShapes(projectSchema) {
338
342
  let errors = [];
339
343
 
340
344
  if ((0, _gt.default)((0, _coerce2.default)(projectSchema.schemaVersion) ?? _versions.LEGACY_SCHEMA_VERSION, '3.12.0')) {
@@ -343,17 +347,9 @@ function validateIndexedShapes(projectSchema, additionalShapeNames) {
343
347
  } = projectSchema;
344
348
 
345
349
  if (indexedShapes) {
346
- for (const shapeName in indexedShapes) {
347
- if (projectSchema.shapes[shapeName] === undefined && !additionalShapeNames.includes(shapeName)) {
348
- errors.push({
349
- path: ['indexedShapes', shapeName],
350
- type: 'notFound',
351
- message: `Invalid shape "${shapeName}"`
352
- });
353
- } else {
354
- errors = errors.concat(validateIndexedShapeConfig(projectSchema, shapeName, indexedShapes[shapeName]));
355
- }
356
- }
350
+ (0, _forOwn.default)(indexedShapes, (config, shapeName) => {
351
+ errors = errors.concat(validateIndexedShapeConfig(projectSchema, shapeName, config));
352
+ });
357
353
  }
358
354
  }
359
355
 
@@ -477,7 +473,7 @@ function validateLocales(projectSchema) {
477
473
  } = projectSchema;
478
474
  const errors = [];
479
475
 
480
- if (!locales.includes(defaultLocale)) {
476
+ if (locales && !locales.includes(defaultLocale)) {
481
477
  errors.push({
482
478
  type: 'notFound',
483
479
  path: ['locales'],
@@ -515,8 +511,8 @@ function formatError(error) {
515
511
 
516
512
  const ajv = (0, _jsonSchema.createAjv)();
517
513
 
518
- function validateStructure(schemaVersion, schema, ref) {
519
- var _coerce;
514
+ function validateStructure(schemaVersion, schema, ref, options) {
515
+ var _coerce, _ajv$errors;
520
516
 
521
517
  const versionStr = (_coerce = (0, _coerce2.default)(schemaVersion)) === null || _coerce === void 0 ? void 0 : _coerce.format();
522
518
 
@@ -528,13 +524,21 @@ function validateStructure(schemaVersion, schema, ref) {
528
524
  }
529
525
  }
530
526
 
531
- const valid = ajv.validate(`https://schema.takeshape.io/project-schema/v${versionStr}#${ref ?? ''}`, schema);
527
+ ajv.validate(`https://schema.takeshape.io/project-schema/v${versionStr}#${ref ?? ''}`, schema);
528
+ let errors = ((_ajv$errors = ajv.errors) === null || _ajv$errors === void 0 ? void 0 : _ajv$errors.map(formatError)) ?? [];
529
+ const suppressErrorPaths = options === null || options === void 0 ? void 0 : options.suppressErrorPaths;
530
+
531
+ if (errors.length && suppressErrorPaths) {
532
+ errors = errors.filter(error => {
533
+ return !suppressErrorPaths.includes(error.path.join('.'));
534
+ });
535
+ }
532
536
 
533
- if (!valid && ajv.errors) {
537
+ if (errors.length) {
534
538
  return {
535
539
  valid: false,
536
540
  schema: undefined,
537
- errors: ajv.errors.map(formatError)
541
+ errors
538
542
  };
539
543
  }
540
544
 
@@ -546,7 +550,7 @@ function validateStructure(schemaVersion, schema, ref) {
546
550
  }
547
551
 
548
552
  function validateV3X(version, obj, options) {
549
- const structuralValidation = validateStructure(version, obj);
553
+ const structuralValidation = validateStructure(version, obj, undefined, options);
550
554
 
551
555
  if (!structuralValidation.valid) {
552
556
  return structuralValidation;
@@ -557,7 +561,15 @@ function validateV3X(version, obj, options) {
557
561
  const namespaceShapes = (0, _schemaUtil.getAllNamespaceShapes)(schema);
558
562
  const additionalShapeNames = (options !== null && options !== void 0 && options.additionalShapeNames ? builtInShapeNames.concat(options.additionalShapeNames) : builtInShapeNames).concat(namespaceShapes);
559
563
  const additionalModelShapeIds = options !== null && options !== void 0 && options.additionalModelShapeIds ? builtInModelShapeIds.concat(options.additionalModelShapeIds) : builtInModelShapeIds;
560
- errors = errors.concat(checkShapeNames(schema.shapes)).concat(checkShapeIds(schema.shapes)).concat(validateWorkflowsV3(schema)).concat(validateQueryConfigs(schema, additionalShapeNames)).concat(validateRefs(schema, additionalShapeNames)).concat(validateDirectives(schema, additionalModelShapeIds)).concat(validateLocales(schema)).concat(checkWorkflowStepNames(schema.workflows)).concat(checkWorkflowStepKeys(schema.workflows)).concat(validateOneOfs(schema)).concat(validateIndexedShapes(schema, additionalShapeNames));
564
+ errors = errors.concat(checkShapeNames(schema.shapes)).concat(checkShapeIds(schema.shapes)).concat(validateWorkflowsV3(schema)).concat(validateQueryConfigs(schema, additionalShapeNames)).concat(validateRefs(schema, additionalShapeNames)).concat(validateDirectives(schema, additionalModelShapeIds)).concat(validateLocales(schema)).concat(checkWorkflowStepNames(schema.workflows)).concat(checkWorkflowStepKeys(schema.workflows)).concat(validateOneOfs(schema)).concat(validateIndexedShapes(schema));
565
+ const suppressErrorPaths = options === null || options === void 0 ? void 0 : options.suppressErrorPaths;
566
+
567
+ if (suppressErrorPaths) {
568
+ errors = errors.filter(error => {
569
+ return !suppressErrorPaths.includes(error.path.join('.'));
570
+ });
571
+ }
572
+
561
573
  return errors.length ? {
562
574
  valid: false,
563
575
  schema: undefined,
@@ -792,7 +804,7 @@ function validateRoleImport(maybeRoles) {
792
804
 
793
805
  function getProjectSchemaValidation(schemaVersion) {
794
806
  const validator = findValidator(schemaVersion);
795
- return maybeSchema => {
807
+ return (maybeSchema, options) => {
796
808
  if (!validator) {
797
809
  return {
798
810
  errors: [{
@@ -805,21 +817,23 @@ function getProjectSchemaValidation(schemaVersion) {
805
817
  };
806
818
  }
807
819
 
808
- return validator(maybeSchema);
820
+ return validator(maybeSchema, options);
809
821
  };
810
822
  }
811
823
  /**
812
824
  * Only use when validating an imported schema!
813
825
  *
814
826
  * New style validation for parity with the `validateRoleImport` fn. Returns
815
- * a valid, and potentially cleaned `AnyProjectSchema` or throws a
816
- * `SchemaValidationError`.
827
+ * a valid, clean `ImportProjectSchema` or throws a `SchemaValidationError`.
817
828
  */
818
829
 
819
830
 
820
831
  function validateProjectSchemaImport(maybeSchema) {
821
832
  const validate = getProjectSchemaValidation(maybeSchema === null || maybeSchema === void 0 ? void 0 : maybeSchema.schemaVersion);
822
- const validateResult = validate(maybeSchema);
833
+ const validateOptions = {
834
+ suppressErrorPaths: [..._types.projectSchemaImportOptionalProps]
835
+ };
836
+ const validateResult = validate(maybeSchema, validateOptions);
823
837
 
824
838
  if (validateResult.valid) {
825
839
  return maybeSchema;
package/es/types/types.js CHANGED
@@ -3,24 +3,7 @@
3
3
  * only type used in most runtime code. Updating this to a new version should
4
4
  * trigger type errors that clue you in to code that needs review.
5
5
  */
6
-
7
- /**
8
- * Remote service configuration types
9
- */
10
-
11
- /**
12
- * Old service authentication
13
- * @deprecated
14
- */
15
-
16
- /**
17
- * Support null sentinels for authentication
18
- */
19
-
20
- /**
21
- * A type suitable for service object updates, mostly concerns authentication
22
- * requirements.
23
- */
6
+ export const projectSchemaImportOptionalProps = ['projectId', 'created', 'updated', 'dataKey', 'version', 'locales', 'defaultLocale', 'author'];
24
7
 
25
8
  /**
26
9
  * Types of refs
package/es/validate.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { projectSchemaImportOptionalProps } from './types/types';
1
2
  import { createAjv } from '@takeshape/json-schema';
2
3
  import { SchemaValidationError } from '@takeshape/errors';
3
4
  import coerce from 'semver/functions/coerce';
@@ -20,6 +21,7 @@ import { enumerateOneOfKeys, isUnionSchema } from './unions';
20
21
  import { isEnumLikeSchema } from './enum';
21
22
  import metaSchemaV3_9_0 from './schemas/project-schema/meta-schema-v3.9.0.json';
22
23
  import { isIntegerLike } from '@takeshape/util';
24
+ import forOwn from 'lodash/forOwn';
23
25
 
24
26
  function findDuplicates(items) {
25
27
  const seen = {};
@@ -299,7 +301,7 @@ function validateIndexedShapeConfig(projectSchema, shapeName, config) {
299
301
  return errors;
300
302
  }
301
303
 
302
- function validateIndexedShapes(projectSchema, additionalShapeNames) {
304
+ function validateIndexedShapes(projectSchema) {
303
305
  let errors = [];
304
306
 
305
307
  if (gt(coerce(projectSchema.schemaVersion) ?? LEGACY_SCHEMA_VERSION, '3.12.0')) {
@@ -308,17 +310,9 @@ function validateIndexedShapes(projectSchema, additionalShapeNames) {
308
310
  } = projectSchema;
309
311
 
310
312
  if (indexedShapes) {
311
- for (const shapeName in indexedShapes) {
312
- if (projectSchema.shapes[shapeName] === undefined && !additionalShapeNames.includes(shapeName)) {
313
- errors.push({
314
- path: ['indexedShapes', shapeName],
315
- type: 'notFound',
316
- message: `Invalid shape "${shapeName}"`
317
- });
318
- } else {
319
- errors = errors.concat(validateIndexedShapeConfig(projectSchema, shapeName, indexedShapes[shapeName]));
320
- }
321
- }
313
+ forOwn(indexedShapes, (config, shapeName) => {
314
+ errors = errors.concat(validateIndexedShapeConfig(projectSchema, shapeName, config));
315
+ });
322
316
  }
323
317
  }
324
318
 
@@ -442,7 +436,7 @@ function validateLocales(projectSchema) {
442
436
  } = projectSchema;
443
437
  const errors = [];
444
438
 
445
- if (!locales.includes(defaultLocale)) {
439
+ if (locales && !locales.includes(defaultLocale)) {
446
440
  errors.push({
447
441
  type: 'notFound',
448
442
  path: ['locales'],
@@ -479,8 +473,8 @@ export function formatError(error) {
479
473
  }
480
474
  const ajv = createAjv();
481
475
 
482
- function validateStructure(schemaVersion, schema, ref) {
483
- var _coerce;
476
+ function validateStructure(schemaVersion, schema, ref, options) {
477
+ var _coerce, _ajv$errors;
484
478
 
485
479
  const versionStr = (_coerce = coerce(schemaVersion)) === null || _coerce === void 0 ? void 0 : _coerce.format();
486
480
  const relevantSchemas = allProjectSchemas.filter(metaSchema => metaSchema.$id.endsWith(`v${versionStr}#`));
@@ -491,13 +485,21 @@ function validateStructure(schemaVersion, schema, ref) {
491
485
  }
492
486
  }
493
487
 
494
- const valid = ajv.validate(`https://schema.takeshape.io/project-schema/v${versionStr}#${ref ?? ''}`, schema);
488
+ ajv.validate(`https://schema.takeshape.io/project-schema/v${versionStr}#${ref ?? ''}`, schema);
489
+ let errors = ((_ajv$errors = ajv.errors) === null || _ajv$errors === void 0 ? void 0 : _ajv$errors.map(formatError)) ?? [];
490
+ const suppressErrorPaths = options === null || options === void 0 ? void 0 : options.suppressErrorPaths;
491
+
492
+ if (errors.length && suppressErrorPaths) {
493
+ errors = errors.filter(error => {
494
+ return !suppressErrorPaths.includes(error.path.join('.'));
495
+ });
496
+ }
495
497
 
496
- if (!valid && ajv.errors) {
498
+ if (errors.length) {
497
499
  return {
498
500
  valid: false,
499
501
  schema: undefined,
500
- errors: ajv.errors.map(formatError)
502
+ errors
501
503
  };
502
504
  }
503
505
 
@@ -509,7 +511,7 @@ function validateStructure(schemaVersion, schema, ref) {
509
511
  }
510
512
 
511
513
  function validateV3X(version, obj, options) {
512
- const structuralValidation = validateStructure(version, obj);
514
+ const structuralValidation = validateStructure(version, obj, undefined, options);
513
515
 
514
516
  if (!structuralValidation.valid) {
515
517
  return structuralValidation;
@@ -520,7 +522,15 @@ function validateV3X(version, obj, options) {
520
522
  const namespaceShapes = getAllNamespaceShapes(schema);
521
523
  const additionalShapeNames = (options !== null && options !== void 0 && options.additionalShapeNames ? builtInShapeNames.concat(options.additionalShapeNames) : builtInShapeNames).concat(namespaceShapes);
522
524
  const additionalModelShapeIds = options !== null && options !== void 0 && options.additionalModelShapeIds ? builtInModelShapeIds.concat(options.additionalModelShapeIds) : builtInModelShapeIds;
523
- errors = errors.concat(checkShapeNames(schema.shapes)).concat(checkShapeIds(schema.shapes)).concat(validateWorkflowsV3(schema)).concat(validateQueryConfigs(schema, additionalShapeNames)).concat(validateRefs(schema, additionalShapeNames)).concat(validateDirectives(schema, additionalModelShapeIds)).concat(validateLocales(schema)).concat(checkWorkflowStepNames(schema.workflows)).concat(checkWorkflowStepKeys(schema.workflows)).concat(validateOneOfs(schema)).concat(validateIndexedShapes(schema, additionalShapeNames));
525
+ errors = errors.concat(checkShapeNames(schema.shapes)).concat(checkShapeIds(schema.shapes)).concat(validateWorkflowsV3(schema)).concat(validateQueryConfigs(schema, additionalShapeNames)).concat(validateRefs(schema, additionalShapeNames)).concat(validateDirectives(schema, additionalModelShapeIds)).concat(validateLocales(schema)).concat(checkWorkflowStepNames(schema.workflows)).concat(checkWorkflowStepKeys(schema.workflows)).concat(validateOneOfs(schema)).concat(validateIndexedShapes(schema));
526
+ const suppressErrorPaths = options === null || options === void 0 ? void 0 : options.suppressErrorPaths;
527
+
528
+ if (suppressErrorPaths) {
529
+ errors = errors.filter(error => {
530
+ return !suppressErrorPaths.includes(error.path.join('.'));
531
+ });
532
+ }
533
+
524
534
  return errors.length ? {
525
535
  valid: false,
526
536
  schema: undefined,
@@ -751,7 +761,7 @@ export function validateRoleImport(maybeRoles) {
751
761
 
752
762
  function getProjectSchemaValidation(schemaVersion) {
753
763
  const validator = findValidator(schemaVersion);
754
- return maybeSchema => {
764
+ return (maybeSchema, options) => {
755
765
  if (!validator) {
756
766
  return {
757
767
  errors: [{
@@ -764,21 +774,23 @@ function getProjectSchemaValidation(schemaVersion) {
764
774
  };
765
775
  }
766
776
 
767
- return validator(maybeSchema);
777
+ return validator(maybeSchema, options);
768
778
  };
769
779
  }
770
780
  /**
771
781
  * Only use when validating an imported schema!
772
782
  *
773
783
  * New style validation for parity with the `validateRoleImport` fn. Returns
774
- * a valid, and potentially cleaned `AnyProjectSchema` or throws a
775
- * `SchemaValidationError`.
784
+ * a valid, clean `ImportProjectSchema` or throws a `SchemaValidationError`.
776
785
  */
777
786
 
778
787
 
779
788
  export function validateProjectSchemaImport(maybeSchema) {
780
789
  const validate = getProjectSchemaValidation(maybeSchema === null || maybeSchema === void 0 ? void 0 : maybeSchema.schemaVersion);
781
- const validateResult = validate(maybeSchema);
790
+ const validateOptions = {
791
+ suppressErrorPaths: [...projectSchemaImportOptionalProps]
792
+ };
793
+ const validateResult = validate(maybeSchema, validateOptions);
782
794
 
783
795
  if (validateResult.valid) {
784
796
  return maybeSchema;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takeshape/schema",
3
- "version": "8.112.0",
3
+ "version": "8.116.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": "8.112.0",
25
- "@takeshape/json-schema": "8.112.0",
26
- "@takeshape/util": "8.112.0",
24
+ "@takeshape/errors": "8.116.1",
25
+ "@takeshape/json-schema": "8.116.1",
26
+ "@takeshape/util": "8.116.1",
27
27
  "ajv": "^8.10.0",
28
28
  "ajv-formats": "^2.1.1",
29
29
  "blueimp-md5": "^2.10.0",