@stackbit/sdk 0.2.6 → 0.2.11
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/dist/config/config-loader.js +60 -2
- package/dist/config/config-loader.js.map +1 -1
- package/dist/utils/model-extender.d.ts +9 -2
- package/dist/utils/model-extender.js +62 -28
- package/dist/utils/model-extender.js.map +1 -1
- package/package.json +1 -1
- package/src/.DS_Store +0 -0
- package/src/config/config-loader.ts +57 -3
- package/src/utils/model-extender.ts +84 -36
|
@@ -50,13 +50,14 @@ function validateAndNormalizeConfig(config) {
|
|
|
50
50
|
// extend config models having the "extends" property
|
|
51
51
|
// this must be done before main config validation as some properties like
|
|
52
52
|
// the labelField will not work when validating models without extending them first
|
|
53
|
-
|
|
53
|
+
const { models, errors: extendModelErrors } = utils_1.extendModelMap((config === null || config === void 0 ? void 0 : config.models) || {});
|
|
54
|
+
config.models = models;
|
|
54
55
|
// normalize config - backward compatibility updates, adding extra fields like "markdown_content", "type" and "layout",
|
|
55
56
|
// and setting other default values.
|
|
56
57
|
config = normalizeConfig(config);
|
|
57
58
|
// validate config
|
|
58
59
|
const configValidationResult = config_validator_1.validateConfig(config);
|
|
59
|
-
const errors = [...contentModelsValidationResult.errors, ...configValidationResult.errors];
|
|
60
|
+
const errors = [...contentModelsValidationResult.errors, ...extendModelErrors, ...configValidationResult.errors];
|
|
60
61
|
return normalizeValidationResult({
|
|
61
62
|
valid: lodash_1.default.isEmpty(errors),
|
|
62
63
|
value: configValidationResult.value,
|
|
@@ -183,10 +184,15 @@ function normalizeConfig(config) {
|
|
|
183
184
|
if (utils_1.isPageModel(model)) {
|
|
184
185
|
// rename old 'template' property to 'layout'
|
|
185
186
|
utils_2.rename(model, 'template', 'layout');
|
|
187
|
+
updatePageUrlPath(model);
|
|
188
|
+
updatePageFilePath(model, config);
|
|
186
189
|
addMarkdownContentField(model);
|
|
187
190
|
// TODO: update schema-editor to not show layout field
|
|
188
191
|
addLayoutFieldToPageModel(model, pageLayoutKey);
|
|
189
192
|
}
|
|
193
|
+
else if (utils_1.isDataModel(model)) {
|
|
194
|
+
updateDataFilePath(model, config);
|
|
195
|
+
}
|
|
190
196
|
if (utils_1.isListDataModel(model)) {
|
|
191
197
|
// 'items.type' of list model defaults to 'string', set it explicitly
|
|
192
198
|
if (!lodash_1.default.has(model, 'items.type')) {
|
|
@@ -265,6 +271,58 @@ function normalizeConfig(config) {
|
|
|
265
271
|
});
|
|
266
272
|
return config;
|
|
267
273
|
}
|
|
274
|
+
function updatePageUrlPath(model) {
|
|
275
|
+
// set default urlPath if not set
|
|
276
|
+
if (!model.urlPath) {
|
|
277
|
+
model.urlPath = '/{slug}';
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Sets the page model's filePath pattern.
|
|
282
|
+
* If the model has `filePath` property, it is prefixed with `pagesDir` and returned.
|
|
283
|
+
* If the model has no `filePath` property, then `filePath` is naively inferred by
|
|
284
|
+
* prefixing `urlPath` with `pagesDir` and appending the `.md` extension.
|
|
285
|
+
*/
|
|
286
|
+
function updatePageFilePath(model, config) {
|
|
287
|
+
var _a;
|
|
288
|
+
let filePath;
|
|
289
|
+
if (model.filePath) {
|
|
290
|
+
filePath = model.filePath;
|
|
291
|
+
}
|
|
292
|
+
else if (model.file) {
|
|
293
|
+
filePath = model.file;
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
const urlPath = model.urlPath;
|
|
297
|
+
if (urlPath === '/') {
|
|
298
|
+
filePath = 'index.md';
|
|
299
|
+
}
|
|
300
|
+
else if (lodash_1.default.trim(urlPath, '/') === 'posts/{slug}' && config.ssgName === 'jekyll') {
|
|
301
|
+
filePath = '_posts/{moment_format("YYYY-MM-DD")}-{slug}.md';
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
filePath = lodash_1.default.trim(urlPath, '/') + '.md';
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
const parentDir = lodash_1.default.trim((_a = config.pagesDir) !== null && _a !== void 0 ? _a : '', '/');
|
|
308
|
+
model.filePath = path_1.default.join(parentDir, filePath);
|
|
309
|
+
}
|
|
310
|
+
function updateDataFilePath(model, config) {
|
|
311
|
+
var _a;
|
|
312
|
+
let filePath;
|
|
313
|
+
if (model.filePath) {
|
|
314
|
+
filePath = model.filePath;
|
|
315
|
+
}
|
|
316
|
+
else if (model.file) {
|
|
317
|
+
filePath = model.file;
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
const folder = lodash_1.default.trim(lodash_1.default.get(model, 'folder'), '/');
|
|
321
|
+
filePath = lodash_1.default.trim(`${folder}/{slug}.json`, '/');
|
|
322
|
+
}
|
|
323
|
+
const parentDir = lodash_1.default.trim((_a = config.dataDir) !== null && _a !== void 0 ? _a : '', '/');
|
|
324
|
+
model.filePath = path_1.default.join(parentDir, filePath);
|
|
325
|
+
}
|
|
268
326
|
function addMarkdownContentField(model) {
|
|
269
327
|
if (!model.hideContent) {
|
|
270
328
|
utils_2.append(model, 'fields', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config/config-loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config/config-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import { Model, ModelMap } from '../config/config-types';
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
2
|
+
import { ConfigValidationError } from '../config/config-errors';
|
|
3
|
+
export declare function extendModelArray(models: Model[]): {
|
|
4
|
+
models: Model[];
|
|
5
|
+
errors: ConfigValidationError[];
|
|
6
|
+
};
|
|
7
|
+
export declare function extendModelMap(models: ModelMap): {
|
|
8
|
+
models: ModelMap;
|
|
9
|
+
errors: ConfigValidationError[];
|
|
10
|
+
};
|
|
@@ -3,31 +3,52 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.extendModelMap = exports.
|
|
6
|
+
exports.extendModelMap = exports.extendModelArray = void 0;
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
8
|
const utils_1 = require("@stackbit/utils");
|
|
9
|
-
|
|
9
|
+
const config_errors_1 = require("../config/config-errors");
|
|
10
|
+
function extendModelArray(models) {
|
|
10
11
|
const memorized = lodash_1.default.memoize(extendModel, (model, modelName) => modelName);
|
|
11
12
|
const modelsByName = lodash_1.default.keyBy(models, 'name');
|
|
12
|
-
return lodash_1.default.
|
|
13
|
+
return lodash_1.default.reduce(models, (result, model) => {
|
|
13
14
|
// YamlModel is the same as Model just without 'name' and '__metadata' properties
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
const { model: extendedModel, errors } = memorized(model, model.name, modelsByName);
|
|
16
|
+
return {
|
|
17
|
+
models: result.models.concat(extendedModel),
|
|
18
|
+
errors: result.errors.concat(errors)
|
|
19
|
+
};
|
|
20
|
+
}, { models: [], errors: [] });
|
|
16
21
|
}
|
|
17
|
-
exports.
|
|
22
|
+
exports.extendModelArray = extendModelArray;
|
|
18
23
|
function extendModelMap(models) {
|
|
19
24
|
const memorized = lodash_1.default.memoize(extendModel, (model, modelName) => modelName);
|
|
20
|
-
return lodash_1.default.
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
return lodash_1.default.reduce(models, (result, model, modelName) => {
|
|
26
|
+
const { model: extendedModel, errors } = memorized(model, modelName, models);
|
|
27
|
+
return {
|
|
28
|
+
models: lodash_1.default.assign(result.models, { [modelName]: extendedModel }),
|
|
29
|
+
errors: result.errors.concat(errors)
|
|
30
|
+
};
|
|
31
|
+
}, { models: {}, errors: [] });
|
|
23
32
|
}
|
|
24
33
|
exports.extendModelMap = extendModelMap;
|
|
25
34
|
function extendModel(model, modelName, modelsByName, _extendPath = []) {
|
|
26
|
-
|
|
35
|
+
if (lodash_1.default.includes(_extendPath, modelName)) {
|
|
36
|
+
return {
|
|
37
|
+
model,
|
|
38
|
+
errors: [
|
|
39
|
+
new config_errors_1.ConfigValidationError({
|
|
40
|
+
type: 'model.extends.circular',
|
|
41
|
+
message: `cyclic dependency detected in model extend tree: ${_extendPath.join(' -> ')} -> ${modelName}`,
|
|
42
|
+
fieldPath: [],
|
|
43
|
+
value: null
|
|
44
|
+
})
|
|
45
|
+
]
|
|
46
|
+
};
|
|
47
|
+
}
|
|
27
48
|
let _extends = lodash_1.default.get(model, 'extends');
|
|
28
49
|
let fields = lodash_1.default.get(model, 'fields');
|
|
29
50
|
if (!_extends) {
|
|
30
|
-
return model;
|
|
51
|
+
return { model, errors: [] };
|
|
31
52
|
}
|
|
32
53
|
delete model['extends'];
|
|
33
54
|
if (!lodash_1.default.isArray(_extends)) {
|
|
@@ -37,20 +58,38 @@ function extendModel(model, modelName, modelsByName, _extendPath = []) {
|
|
|
37
58
|
fields = [];
|
|
38
59
|
model.fields = fields;
|
|
39
60
|
}
|
|
61
|
+
let errors = [];
|
|
40
62
|
lodash_1.default.forEach(_extends, (superModelName) => {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
63
|
+
const superModel = lodash_1.default.get(modelsByName, superModelName);
|
|
64
|
+
if (!superModel) {
|
|
65
|
+
errors.push(new config_errors_1.ConfigValidationError({
|
|
66
|
+
type: 'model.extends.model.not.found',
|
|
67
|
+
message: `model '${modelName}' extends non existing model '${superModelName}'`,
|
|
68
|
+
fieldPath: [],
|
|
69
|
+
value: null
|
|
70
|
+
}));
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (superModel.type !== 'object') {
|
|
74
|
+
errors.push(new config_errors_1.ConfigValidationError({
|
|
75
|
+
type: 'model.extends.non.object.model',
|
|
76
|
+
message: `model '${modelName}' extends models of type '${superModel.type}', only model of the 'object' type can be extended`,
|
|
77
|
+
fieldPath: [],
|
|
78
|
+
value: null
|
|
79
|
+
}));
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const { model: extendedSuperModel, errors: nestedErrors } = extendModel(superModel, superModelName, modelsByName, _extendPath.concat(modelName));
|
|
83
|
+
errors = errors.concat(nestedErrors);
|
|
84
|
+
utils_1.copyIfNotSet(extendedSuperModel, 'hideContent', model, 'hideContent');
|
|
85
|
+
utils_1.copyIfNotSet(extendedSuperModel, 'singleInstance', model, 'singleInstance');
|
|
86
|
+
utils_1.copyIfNotSet(extendedSuperModel, 'labelField', model, 'labelField');
|
|
87
|
+
utils_1.copyIfNotSet(extendedSuperModel, 'variantField', model, 'variantField');
|
|
88
|
+
if (Array.isArray(extendedSuperModel.fieldGroups) && extendedSuperModel.fieldGroups.length > 0) {
|
|
89
|
+
model.fieldGroups = lodash_1.default.uniqBy(lodash_1.default.concat(extendedSuperModel.fieldGroups, lodash_1.default.get(model, 'fieldGroups', [])), 'name');
|
|
51
90
|
}
|
|
52
91
|
let idx = 0;
|
|
53
|
-
lodash_1.default.forEach(
|
|
92
|
+
lodash_1.default.forEach(extendedSuperModel.fields, (superField) => {
|
|
54
93
|
const field = lodash_1.default.find(fields, { name: superField.name });
|
|
55
94
|
if (field) {
|
|
56
95
|
lodash_1.default.defaultsDeep(field, lodash_1.default.cloneDeep(superField));
|
|
@@ -60,11 +99,6 @@ function extendModel(model, modelName, modelsByName, _extendPath = []) {
|
|
|
60
99
|
}
|
|
61
100
|
});
|
|
62
101
|
});
|
|
63
|
-
return model;
|
|
64
|
-
}
|
|
65
|
-
function assert(value, message) {
|
|
66
|
-
if (!value) {
|
|
67
|
-
throw new Error(message);
|
|
68
|
-
}
|
|
102
|
+
return { model, errors };
|
|
69
103
|
}
|
|
70
104
|
//# sourceMappingURL=model-extender.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-extender.js","sourceRoot":"","sources":["../../src/utils/model-extender.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,2CAA+C;
|
|
1
|
+
{"version":3,"file":"model-extender.js","sourceRoot":"","sources":["../../src/utils/model-extender.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/.DS_Store
CHANGED
|
Binary file
|
|
@@ -18,11 +18,12 @@ import {
|
|
|
18
18
|
isObjectField,
|
|
19
19
|
isObjectListItems,
|
|
20
20
|
isPageModel,
|
|
21
|
+
isDataModel,
|
|
21
22
|
isReferenceField,
|
|
22
23
|
iterateModelFieldsRecursively
|
|
23
24
|
} from '../utils';
|
|
24
25
|
import { append, parseFile, readDirRecursively, reducePromise, rename } from '@stackbit/utils';
|
|
25
|
-
import { Config, FieldEnum, FieldModel, FieldObjectProps, Model, PageModel, YamlModel } from './config-types';
|
|
26
|
+
import { Config, DataModel, FieldEnum, FieldModel, FieldObjectProps, Model, PageModel, YamlModel } from './config-types';
|
|
26
27
|
import { loadPresets } from './presets-loader';
|
|
27
28
|
|
|
28
29
|
export interface ConfigLoaderOptions {
|
|
@@ -86,7 +87,8 @@ export function validateAndNormalizeConfig(config: any): NormalizedValidationRes
|
|
|
86
87
|
// extend config models having the "extends" property
|
|
87
88
|
// this must be done before main config validation as some properties like
|
|
88
89
|
// the labelField will not work when validating models without extending them first
|
|
89
|
-
|
|
90
|
+
const { models, errors: extendModelErrors } = extendModelMap(config?.models || {});
|
|
91
|
+
config.models = models;
|
|
90
92
|
|
|
91
93
|
// normalize config - backward compatibility updates, adding extra fields like "markdown_content", "type" and "layout",
|
|
92
94
|
// and setting other default values.
|
|
@@ -95,7 +97,7 @@ export function validateAndNormalizeConfig(config: any): NormalizedValidationRes
|
|
|
95
97
|
// validate config
|
|
96
98
|
const configValidationResult = validateConfig(config);
|
|
97
99
|
|
|
98
|
-
const errors = [...contentModelsValidationResult.errors, ...configValidationResult.errors];
|
|
100
|
+
const errors = [...contentModelsValidationResult.errors, ...extendModelErrors, ...configValidationResult.errors];
|
|
99
101
|
return normalizeValidationResult({
|
|
100
102
|
valid: _.isEmpty(errors),
|
|
101
103
|
value: configValidationResult.value,
|
|
@@ -243,10 +245,15 @@ function normalizeConfig(config: any): any {
|
|
|
243
245
|
// rename old 'template' property to 'layout'
|
|
244
246
|
rename(model, 'template', 'layout');
|
|
245
247
|
|
|
248
|
+
updatePageUrlPath(model);
|
|
249
|
+
updatePageFilePath(model, config);
|
|
250
|
+
|
|
246
251
|
addMarkdownContentField(model);
|
|
247
252
|
|
|
248
253
|
// TODO: update schema-editor to not show layout field
|
|
249
254
|
addLayoutFieldToPageModel(model, pageLayoutKey);
|
|
255
|
+
} else if (isDataModel(model)) {
|
|
256
|
+
updateDataFilePath(model, config);
|
|
250
257
|
}
|
|
251
258
|
|
|
252
259
|
if (isListDataModel(model)) {
|
|
@@ -331,6 +338,53 @@ function normalizeConfig(config: any): any {
|
|
|
331
338
|
return config;
|
|
332
339
|
}
|
|
333
340
|
|
|
341
|
+
function updatePageUrlPath(model: PageModel) {
|
|
342
|
+
// set default urlPath if not set
|
|
343
|
+
if (!model.urlPath) {
|
|
344
|
+
model.urlPath = '/{slug}';
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Sets the page model's filePath pattern.
|
|
350
|
+
* If the model has `filePath` property, it is prefixed with `pagesDir` and returned.
|
|
351
|
+
* If the model has no `filePath` property, then `filePath` is naively inferred by
|
|
352
|
+
* prefixing `urlPath` with `pagesDir` and appending the `.md` extension.
|
|
353
|
+
*/
|
|
354
|
+
function updatePageFilePath(model: PageModel, config: Config) {
|
|
355
|
+
let filePath;
|
|
356
|
+
if (model.filePath) {
|
|
357
|
+
filePath = model.filePath;
|
|
358
|
+
} else if (model.file) {
|
|
359
|
+
filePath = model.file;
|
|
360
|
+
} else {
|
|
361
|
+
const urlPath = model.urlPath;
|
|
362
|
+
if (urlPath === '/') {
|
|
363
|
+
filePath = 'index.md';
|
|
364
|
+
} else if (_.trim(urlPath, '/') === 'posts/{slug}' && config.ssgName === 'jekyll') {
|
|
365
|
+
filePath = '_posts/{moment_format("YYYY-MM-DD")}-{slug}.md';
|
|
366
|
+
} else {
|
|
367
|
+
filePath = _.trim(urlPath, '/') + '.md';
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
const parentDir = _.trim(config.pagesDir ?? '', '/');
|
|
371
|
+
model.filePath = path.join(parentDir, filePath);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
function updateDataFilePath(model: DataModel, config: Config) {
|
|
375
|
+
let filePath;
|
|
376
|
+
if (model.filePath) {
|
|
377
|
+
filePath = model.filePath;
|
|
378
|
+
} else if (model.file) {
|
|
379
|
+
filePath = model.file;
|
|
380
|
+
} else {
|
|
381
|
+
const folder = _.trim(_.get(model, 'folder'), '/');
|
|
382
|
+
filePath = _.trim(`${folder}/{slug}.json`, '/');
|
|
383
|
+
}
|
|
384
|
+
const parentDir = _.trim(config.dataDir ?? '', '/');
|
|
385
|
+
model.filePath = path.join(parentDir, filePath);
|
|
386
|
+
}
|
|
387
|
+
|
|
334
388
|
function addMarkdownContentField(model: PageModel) {
|
|
335
389
|
if (!model.hideContent) {
|
|
336
390
|
append(model, 'fields', {
|
|
@@ -2,31 +2,65 @@ import _ from 'lodash';
|
|
|
2
2
|
import { copyIfNotSet } from '@stackbit/utils';
|
|
3
3
|
|
|
4
4
|
import { Model, YamlModel, ModelMap } from '../config/config-types';
|
|
5
|
+
import { ConfigValidationError } from '../config/config-errors';
|
|
5
6
|
|
|
6
|
-
export function
|
|
7
|
-
const memorized = _.memoize(extendModel, (model
|
|
7
|
+
export function extendModelArray(models: Model[]): { models: Model[]; errors: ConfigValidationError[] } {
|
|
8
|
+
const memorized = _.memoize(extendModel, (model, modelName) => modelName);
|
|
8
9
|
const modelsByName = _.keyBy(models, 'name');
|
|
9
|
-
return _.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
return _.reduce(
|
|
11
|
+
models,
|
|
12
|
+
(result: { models: Model[]; errors: ConfigValidationError[] }, model) => {
|
|
13
|
+
// YamlModel is the same as Model just without 'name' and '__metadata' properties
|
|
14
|
+
const { model: extendedModel, errors } = memorized(model, model.name, modelsByName);
|
|
15
|
+
return {
|
|
16
|
+
models: result.models.concat(extendedModel),
|
|
17
|
+
errors: result.errors.concat(errors)
|
|
18
|
+
};
|
|
19
|
+
},
|
|
20
|
+
{ models: [], errors: [] }
|
|
21
|
+
);
|
|
13
22
|
}
|
|
14
23
|
|
|
15
|
-
export function extendModelMap(models: ModelMap): ModelMap {
|
|
16
|
-
const memorized = _.memoize(extendModel, (model
|
|
17
|
-
return _.
|
|
18
|
-
|
|
19
|
-
|
|
24
|
+
export function extendModelMap(models: ModelMap): { models: ModelMap; errors: ConfigValidationError[] } {
|
|
25
|
+
const memorized = _.memoize(extendModel, (model, modelName) => modelName);
|
|
26
|
+
return _.reduce(
|
|
27
|
+
models,
|
|
28
|
+
(result: { models: ModelMap; errors: ConfigValidationError[] }, model, modelName) => {
|
|
29
|
+
const { model: extendedModel, errors } = memorized(model, modelName, models);
|
|
30
|
+
return {
|
|
31
|
+
models: _.assign(result.models, { [modelName]: extendedModel }),
|
|
32
|
+
errors: result.errors.concat(errors)
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
{ models: {}, errors: [] }
|
|
36
|
+
);
|
|
20
37
|
}
|
|
21
38
|
|
|
22
|
-
function extendModel
|
|
23
|
-
|
|
39
|
+
function extendModel<T extends Model | YamlModel>(
|
|
40
|
+
model: T,
|
|
41
|
+
modelName: string,
|
|
42
|
+
modelsByName: ModelMap,
|
|
43
|
+
_extendPath: string[] = []
|
|
44
|
+
): { model: T; errors: ConfigValidationError[] } {
|
|
45
|
+
if (_.includes(_extendPath, modelName)) {
|
|
46
|
+
return {
|
|
47
|
+
model,
|
|
48
|
+
errors: [
|
|
49
|
+
new ConfigValidationError({
|
|
50
|
+
type: 'model.extends.circular',
|
|
51
|
+
message: `cyclic dependency detected in model extend tree: ${_extendPath.join(' -> ')} -> ${modelName}`,
|
|
52
|
+
fieldPath: [],
|
|
53
|
+
value: null
|
|
54
|
+
})
|
|
55
|
+
]
|
|
56
|
+
};
|
|
57
|
+
}
|
|
24
58
|
|
|
25
|
-
let _extends = _.get(model, 'extends');
|
|
59
|
+
let _extends: any = _.get(model, 'extends');
|
|
26
60
|
let fields = _.get(model, 'fields');
|
|
27
61
|
|
|
28
62
|
if (!_extends) {
|
|
29
|
-
return model;
|
|
63
|
+
return { model, errors: [] };
|
|
30
64
|
}
|
|
31
65
|
|
|
32
66
|
delete model['extends'];
|
|
@@ -40,23 +74,43 @@ function extendModel(model: YamlModel, modelName: string, modelsByName: Record<s
|
|
|
40
74
|
model.fields = fields;
|
|
41
75
|
}
|
|
42
76
|
|
|
77
|
+
let errors: ConfigValidationError[] = [];
|
|
78
|
+
|
|
43
79
|
_.forEach(_extends, (superModelName) => {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
80
|
+
const superModel = _.get(modelsByName, superModelName);
|
|
81
|
+
if (!superModel) {
|
|
82
|
+
errors.push(
|
|
83
|
+
new ConfigValidationError({
|
|
84
|
+
type: 'model.extends.model.not.found',
|
|
85
|
+
message: `model '${modelName}' extends non existing model '${superModelName}'`,
|
|
86
|
+
fieldPath: [],
|
|
87
|
+
value: null
|
|
88
|
+
})
|
|
89
|
+
);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (superModel.type !== 'object') {
|
|
93
|
+
errors.push(
|
|
94
|
+
new ConfigValidationError({
|
|
95
|
+
type: 'model.extends.non.object.model',
|
|
96
|
+
message: `model '${modelName}' extends models of type '${superModel.type}', only model of the 'object' type can be extended`,
|
|
97
|
+
fieldPath: [],
|
|
98
|
+
value: null
|
|
99
|
+
})
|
|
100
|
+
);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const { model: extendedSuperModel, errors: nestedErrors } = extendModel(superModel, superModelName, modelsByName, _extendPath.concat(modelName));
|
|
104
|
+
errors = errors.concat(nestedErrors);
|
|
105
|
+
copyIfNotSet(extendedSuperModel, 'hideContent', model, 'hideContent');
|
|
106
|
+
copyIfNotSet(extendedSuperModel, 'singleInstance', model, 'singleInstance');
|
|
107
|
+
copyIfNotSet(extendedSuperModel, 'labelField', model, 'labelField');
|
|
108
|
+
copyIfNotSet(extendedSuperModel, 'variantField', model, 'variantField');
|
|
109
|
+
if (Array.isArray(extendedSuperModel.fieldGroups) && extendedSuperModel.fieldGroups.length > 0) {
|
|
110
|
+
model.fieldGroups = _.uniqBy(_.concat(extendedSuperModel.fieldGroups, _.get(model, 'fieldGroups', [])), 'name');
|
|
57
111
|
}
|
|
58
112
|
let idx = 0;
|
|
59
|
-
_.forEach(
|
|
113
|
+
_.forEach(extendedSuperModel.fields, (superField) => {
|
|
60
114
|
const field = _.find(fields, { name: superField.name });
|
|
61
115
|
if (field) {
|
|
62
116
|
_.defaultsDeep(field, _.cloneDeep(superField));
|
|
@@ -66,11 +120,5 @@ function extendModel(model: YamlModel, modelName: string, modelsByName: Record<s
|
|
|
66
120
|
});
|
|
67
121
|
});
|
|
68
122
|
|
|
69
|
-
return model;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function assert(value: any, message: string) {
|
|
73
|
-
if (!value) {
|
|
74
|
-
throw new Error(message);
|
|
75
|
-
}
|
|
123
|
+
return { model, errors };
|
|
76
124
|
}
|