@stackbit/sdk 0.2.19 → 0.2.23

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 (37) hide show
  1. package/dist/config/config-consts.d.ts +1 -1
  2. package/dist/config/config-consts.js +2 -0
  3. package/dist/config/config-consts.js.map +1 -1
  4. package/dist/config/config-loader.d.ts +3 -2
  5. package/dist/config/config-loader.js +256 -72
  6. package/dist/config/config-loader.js.map +1 -1
  7. package/dist/config/config-schema.js +28 -7
  8. package/dist/config/config-schema.js.map +1 -1
  9. package/dist/config/config-types.d.ts +22 -5
  10. package/dist/config/config-writer.js +3 -0
  11. package/dist/config/config-writer.js.map +1 -1
  12. package/dist/config/presets-loader.js +18 -11
  13. package/dist/config/presets-loader.js.map +1 -1
  14. package/dist/content/content-loader.js +1 -1
  15. package/dist/content/content-schema.js +8 -0
  16. package/dist/content/content-schema.js.map +1 -1
  17. package/dist/utils/model-extender.js +3 -2
  18. package/dist/utils/model-extender.js.map +1 -1
  19. package/dist/utils/model-iterators.d.ts +61 -1
  20. package/dist/utils/model-iterators.js +60 -11
  21. package/dist/utils/model-iterators.js.map +1 -1
  22. package/dist/utils/model-utils.d.ts +44 -3
  23. package/dist/utils/model-utils.js +93 -10
  24. package/dist/utils/model-utils.js.map +1 -1
  25. package/package.json +2 -2
  26. package/src/.DS_Store +0 -0
  27. package/src/config/config-consts.ts +2 -0
  28. package/src/config/config-loader.ts +281 -83
  29. package/src/config/config-schema.ts +35 -8
  30. package/src/config/config-types.ts +26 -5
  31. package/src/config/config-writer.ts +3 -0
  32. package/src/config/presets-loader.ts +19 -15
  33. package/src/content/content-loader.ts +2 -2
  34. package/src/content/content-schema.ts +9 -0
  35. package/src/utils/model-extender.ts +4 -3
  36. package/src/utils/model-iterators.ts +61 -13
  37. package/src/utils/model-utils.ts +91 -8
@@ -1,6 +1,6 @@
1
1
  export declare const SSG_NAMES: readonly ["unibit", "jekyll", "hugo", "gatsby", "nextjs", "custom", "eleventy", "vuepress", "gridsome", "nuxt", "sapper", "hexo"];
2
2
  export declare const CMS_NAMES: readonly ["git", "contentful", "sanity", "forestry", "netlifycms"];
3
- export declare const FIELD_TYPES: readonly ["string", "url", "slug", "text", "markdown", "html", "number", "boolean", "enum", "date", "datetime", "color", "image", "file", "object", "model", "reference", "style", "list"];
3
+ export declare const FIELD_TYPES: readonly ["string", "url", "slug", "text", "markdown", "html", "number", "boolean", "enum", "date", "datetime", "color", "image", "file", "json", "richText", "object", "model", "reference", "style", "list"];
4
4
  export declare const STYLE_PROPS: readonly ["objectFit", "objectPosition", "flexDirection", "justifyContent", "justifyItems", "justifySelf", "alignContent", "alignItems", "alignSelf", "padding", "margin", "width", "height", "fontFamily", "fontSize", "fontStyle", "fontWeight", "textAlign", "textColor", "textDecoration", "backgroundColor", "backgroundPosition", "backgroundSize", "borderRadius", "borderWidth", "borderColor", "borderStyle", "boxShadow", "opacity"];
5
5
  export declare const STYLE_PROPS_VALUES: {
6
6
  nineRegions: string[];
@@ -20,6 +20,8 @@ exports.FIELD_TYPES = [
20
20
  'color',
21
21
  'image',
22
22
  'file',
23
+ 'json',
24
+ 'richText',
23
25
  'object',
24
26
  'model',
25
27
  'reference',
@@ -1 +1 @@
1
- {"version":3,"file":"config-consts.js","sourceRoot":"","sources":["../../src/config/config-consts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-consts.js","sourceRoot":"","sources":["../../src/config/config-consts.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ConfigError, ConfigLoadError, ConfigValidationError } from './config-errors';
2
2
  import { Config } from './config-types';
3
3
  export interface ConfigLoaderOptions {
4
+ [option: string]: any;
4
5
  dirPath: string;
5
6
  }
6
7
  export interface ConfigLoaderResult {
@@ -14,8 +15,8 @@ export interface NormalizedValidationResult {
14
15
  errors: ConfigValidationError[];
15
16
  }
16
17
  export interface TempConfigLoaderResult {
17
- config?: any;
18
+ config?: Record<string, unknown>;
18
19
  errors: ConfigLoadError[];
19
20
  }
20
- export declare function loadConfig({ dirPath }: ConfigLoaderOptions): Promise<ConfigLoaderResult>;
21
+ export declare function loadConfig({ dirPath, ...options }: ConfigLoaderOptions): Promise<ConfigLoaderResult>;
21
22
  export declare function validateAndNormalizeConfig(config: any): NormalizedValidationResult;
@@ -1,4 +1,23 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
23
  };
@@ -14,7 +33,7 @@ const config_errors_1 = require("./config-errors");
14
33
  const utils_1 = require("../utils");
15
34
  const utils_2 = require("@stackbit/utils");
16
35
  const presets_loader_1 = require("./presets-loader");
17
- async function loadConfig({ dirPath }) {
36
+ async function loadConfig({ dirPath, ...options }) {
18
37
  let configLoadResult;
19
38
  try {
20
39
  configLoadResult = await loadConfigFromDir(dirPath);
@@ -33,12 +52,14 @@ async function loadConfig({ dirPath }) {
33
52
  errors: configLoadResult.errors
34
53
  };
35
54
  }
36
- const normalizedResult = validateAndNormalizeConfig(configLoadResult.config);
55
+ const externalModelsResult = await loadModelsFromExternalSource(configLoadResult.config, options);
56
+ const mergedConfig = mergeConfigWithExternalModels(configLoadResult.config, externalModelsResult.models);
57
+ const normalizedResult = validateAndNormalizeConfig(mergedConfig);
37
58
  const presetsResult = await presets_loader_1.loadPresets(dirPath, normalizedResult.config);
38
59
  return {
39
60
  valid: normalizedResult.valid,
40
61
  config: presetsResult.config,
41
- errors: [...configLoadResult.errors, ...normalizedResult.errors, ...presetsResult.errors]
62
+ errors: [...configLoadResult.errors, ...externalModelsResult.errors, ...normalizedResult.errors, ...presetsResult.errors]
42
63
  };
43
64
  }
44
65
  exports.loadConfig = loadConfig;
@@ -70,9 +91,9 @@ async function loadConfigFromDir(dirPath) {
70
91
  if (error) {
71
92
  return { errors: [error] };
72
93
  }
73
- const externalModelsResult = await loadExternalModels(dirPath, config);
74
- config.models = lodash_1.default.assign(externalModelsResult.models, config.models);
75
- return { config, errors: externalModelsResult.errors };
94
+ const modelsFromFileResult = await loadModelsFromFiles(dirPath, config);
95
+ const mergedConfig = mergeConfigModelsWithModelsFromFiles(config, modelsFromFileResult.models);
96
+ return { config: mergedConfig, errors: modelsFromFileResult.errors };
76
97
  }
77
98
  async function loadConfigFromStackbitYaml(dirPath) {
78
99
  const stackbitYamlPath = path_1.default.join(dirPath, 'stackbit.yaml');
@@ -91,47 +112,46 @@ async function loadConfigFromStackbitYaml(dirPath) {
91
112
  }
92
113
  return { config };
93
114
  }
94
- async function loadExternalModels(dirPath, config) {
115
+ async function loadModelsFromFiles(dirPath, config) {
95
116
  const modelsSource = lodash_1.default.get(config, 'modelsSource', {});
96
117
  const sourceType = lodash_1.default.get(modelsSource, 'type', 'files');
97
- if (sourceType === 'files') {
98
- const defaultModelDirs = ['node_modules/@stackbit/components/models', '.stackbit/models'];
99
- const modelDirs = lodash_1.default.castArray(lodash_1.default.get(modelsSource, 'modelDirs', defaultModelDirs)).map((modelDir) => lodash_1.default.trim(modelDir, '/'));
100
- const modelFiles = await utils_2.reducePromise(modelDirs, async (modelFiles, modelDir) => {
101
- const absModelsDir = path_1.default.join(dirPath, modelDir);
102
- const dirExists = await fs_extra_1.default.pathExists(absModelsDir);
103
- if (!dirExists) {
104
- return modelFiles;
105
- }
106
- const files = await readModelFilesFromDir(absModelsDir);
107
- return modelFiles.concat(files.map((filePath) => path_1.default.join(modelDir, filePath)));
108
- }, []);
109
- return utils_2.reducePromise(modelFiles, async (result, modelFile) => {
110
- let model;
111
- try {
112
- model = await utils_2.parseFile(path_1.default.join(dirPath, modelFile));
113
- }
114
- catch (error) {
115
- return {
116
- models: result.models,
117
- errors: result.errors.concat(new config_errors_1.ConfigLoadError(`error parsing model, file: ${modelFile}`))
118
- };
119
- }
120
- const modelName = model === null || model === void 0 ? void 0 : model.name;
121
- if (!modelName) {
122
- return {
123
- models: result.models,
124
- errors: result.errors.concat(new config_errors_1.ConfigLoadError(`model does not have a name, file: ${modelFile}`))
125
- };
126
- }
127
- result.models[modelName] = lodash_1.default.omit(model, 'name');
128
- result.models[modelName].__metadata = {
129
- filePath: modelFile
118
+ const defaultModelDirs = ['node_modules/@stackbit/components/models', '.stackbit/models'];
119
+ const modelDirs = sourceType === 'files'
120
+ ? lodash_1.default.castArray(lodash_1.default.get(modelsSource, 'modelDirs', defaultModelDirs)).map((modelDir) => lodash_1.default.trim(modelDir, '/'))
121
+ : defaultModelDirs;
122
+ const modelFiles = await utils_2.reducePromise(modelDirs, async (modelFiles, modelDir) => {
123
+ const absModelsDir = path_1.default.join(dirPath, modelDir);
124
+ const dirExists = await fs_extra_1.default.pathExists(absModelsDir);
125
+ if (!dirExists) {
126
+ return modelFiles;
127
+ }
128
+ const files = await readModelFilesFromDir(absModelsDir);
129
+ return modelFiles.concat(files.map((filePath) => path_1.default.join(modelDir, filePath)));
130
+ }, []);
131
+ return utils_2.reducePromise(modelFiles, async (result, modelFile) => {
132
+ let model;
133
+ try {
134
+ model = await utils_2.parseFile(path_1.default.join(dirPath, modelFile));
135
+ }
136
+ catch (error) {
137
+ return {
138
+ models: result.models,
139
+ errors: result.errors.concat(new config_errors_1.ConfigLoadError(`error parsing model, file: ${modelFile}`))
130
140
  };
131
- return result;
132
- }, { models: {}, errors: [] });
133
- }
134
- return { models: {}, errors: [] };
141
+ }
142
+ const modelName = model === null || model === void 0 ? void 0 : model.name;
143
+ if (!modelName) {
144
+ return {
145
+ models: result.models,
146
+ errors: result.errors.concat(new config_errors_1.ConfigLoadError(`model does not have a name, file: ${modelFile}`))
147
+ };
148
+ }
149
+ result.models[modelName] = lodash_1.default.omit(model, 'name');
150
+ result.models[modelName].__metadata = {
151
+ filePath: modelFile
152
+ };
153
+ return result;
154
+ }, { models: {}, errors: [] });
135
155
  }
136
156
  async function readModelFilesFromDir(modelsDir) {
137
157
  return await utils_2.readDirRecursively(modelsDir, {
@@ -144,6 +164,34 @@ async function readModelFilesFromDir(modelsDir) {
144
164
  }
145
165
  });
146
166
  }
167
+ async function loadModelsFromExternalSource(config, options) {
168
+ const modelsSource = lodash_1.default.get(config, 'modelsSource', {});
169
+ const sourceType = lodash_1.default.get(modelsSource, 'type', 'files');
170
+ if (sourceType === 'files') {
171
+ return { models: [], errors: [] };
172
+ }
173
+ else if (sourceType === 'contentful') {
174
+ const contentfulModule = lodash_1.default.get(modelsSource, 'module', '@stackbit/cms-contentful');
175
+ const module = await Promise.resolve().then(() => __importStar(require(contentfulModule)));
176
+ try {
177
+ const { models } = await module.fetchAndConvertSchema(options);
178
+ return {
179
+ models: models,
180
+ errors: []
181
+ };
182
+ }
183
+ catch (error) {
184
+ return {
185
+ models: [],
186
+ errors: [new config_errors_1.ConfigLoadError(`Error fetching and converting Contentful schema, error: ${error.message}`, { originalError: error })]
187
+ };
188
+ }
189
+ }
190
+ return {
191
+ models: [],
192
+ errors: [new config_errors_1.ConfigLoadError(`modelsSource ${modelsSource} is unsupported`)]
193
+ };
194
+ }
147
195
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
148
196
  async function loadConfigFromDotStackbit(dirPath) {
149
197
  const stackbitDotPath = path_1.default.join(dirPath, '.stackbit');
@@ -172,6 +220,85 @@ async function loadConfigFromDotStackbit(dirPath) {
172
220
  }
173
221
  return lodash_1.default.isEmpty(config) ? null : config;
174
222
  }
223
+ function mergeConfigModelsWithModelsFromFiles(config, modelsFromFiles) {
224
+ var _a;
225
+ const configModels = (_a = config.models) !== null && _a !== void 0 ? _a : {};
226
+ const mergedModels = lodash_1.default.mapValues(modelsFromFiles, (modelFromFile, modelName) => {
227
+ var _a, _b, _c;
228
+ // resolve thumbnails of models loaded from files
229
+ const modelFilePath = (_a = modelFromFile.__metadata) === null || _a === void 0 ? void 0 : _a.filePath;
230
+ resolveThumbnailPathForModel(modelFromFile, modelFilePath);
231
+ utils_1.iterateModelFieldsRecursively(modelFromFile, (field) => {
232
+ if (utils_1.isListField(field)) {
233
+ field = utils_1.normalizeListFieldInPlace(field);
234
+ field = field.items;
235
+ }
236
+ if (utils_1.isObjectField(field)) {
237
+ resolveThumbnailPathForModel(field, modelFilePath);
238
+ }
239
+ else if (utils_1.isEnumField(field)) {
240
+ resolveThumbnailPathForEnumField(field, modelFilePath);
241
+ }
242
+ });
243
+ const configModel = configModels[modelName];
244
+ if (!configModel) {
245
+ return modelFromFile;
246
+ }
247
+ return lodash_1.default.assign({}, modelFromFile, configModel, {
248
+ fields: lodash_1.default.unionBy((_b = configModel === null || configModel === void 0 ? void 0 : configModel.fields) !== null && _b !== void 0 ? _b : [], (_c = modelFromFile === null || modelFromFile === void 0 ? void 0 : modelFromFile.fields) !== null && _c !== void 0 ? _c : [], 'name')
249
+ });
250
+ });
251
+ return {
252
+ ...config,
253
+ models: Object.assign({}, configModels, mergedModels)
254
+ };
255
+ }
256
+ function mergeConfigWithExternalModels(config, externalModels) {
257
+ var _a;
258
+ if (!externalModels || externalModels.length === 0) {
259
+ return config;
260
+ }
261
+ const stackbitModels = (_a = config === null || config === void 0 ? void 0 : config.models) !== null && _a !== void 0 ? _a : {};
262
+ externalModels = externalModels.map((externalModel) => {
263
+ var _a;
264
+ const stackbitModel = stackbitModels[externalModel.name];
265
+ if (!stackbitModel) {
266
+ return externalModel;
267
+ }
268
+ const modelType = stackbitModel.type ? (stackbitModel.type === 'config' ? 'data' : stackbitModel.type) : 'object';
269
+ const urlPath = modelType === 'page' ? (_a = stackbitModel === null || stackbitModel === void 0 ? void 0 : stackbitModel.urlPath) !== null && _a !== void 0 ? _a : '/{slug}' : null;
270
+ const fieldGroups = stackbitModel === null || stackbitModel === void 0 ? void 0 : stackbitModel.fieldGroups;
271
+ externalModel = Object.assign(externalModel, utils_2.omitByNil({
272
+ __metadata: stackbitModel.__metadata,
273
+ type: modelType,
274
+ urlPath,
275
+ fieldGroups
276
+ }));
277
+ return utils_1.mapModelFieldsRecursively(externalModel, (field, modelKeyPath) => {
278
+ const stackbitField = utils_1.getModelFieldForModelKeyPath(stackbitModel, modelKeyPath);
279
+ if (!stackbitField) {
280
+ return field;
281
+ }
282
+ const group = 'group' in stackbitField ? stackbitField.group : null;
283
+ const controlType = 'controlType' in stackbitField ? stackbitField.controlType : null;
284
+ let override = {};
285
+ if ((stackbitField === null || stackbitField === void 0 ? void 0 : stackbitField.type) === 'style') {
286
+ override = stackbitField;
287
+ }
288
+ return Object.assign({}, field, utils_2.omitByNil({
289
+ group,
290
+ controlType
291
+ }), override);
292
+ });
293
+ });
294
+ return {
295
+ ...config,
296
+ models: lodash_1.default.mapValues(lodash_1.default.keyBy(externalModels, 'name'), (model) => {
297
+ lodash_1.default.unset(model, 'name');
298
+ return model;
299
+ })
300
+ };
301
+ }
175
302
  function normalizeConfig(config) {
176
303
  const pageLayoutKey = lodash_1.default.get(config, 'pageLayoutKey', 'layout');
177
304
  const objectTypeKey = lodash_1.default.get(config, 'objectTypeKey', 'type');
@@ -179,12 +306,19 @@ function normalizeConfig(config) {
179
306
  const ver = semver_1.default.coerce(stackbitYamlVersion);
180
307
  const isStackbitYamlV2 = ver ? semver_1.default.satisfies(ver, '<0.3.0') : false;
181
308
  const models = (config === null || config === void 0 ? void 0 : config.models) || {};
309
+ const gitCMS = isGitCMS(config);
182
310
  let referencedModelNames = [];
183
- lodash_1.default.forEach(models, (model) => {
184
- var _a;
311
+ lodash_1.default.forEach(models, (model, modelName) => {
185
312
  if (!model) {
186
313
  return;
187
314
  }
315
+ if (!lodash_1.default.has(model, 'type')) {
316
+ model.type = 'object';
317
+ }
318
+ // add model label if not set
319
+ if (!lodash_1.default.has(model, 'label')) {
320
+ model.label = lodash_1.default.startCase(modelName);
321
+ }
188
322
  if (lodash_1.default.has(model, 'fields') && !Array.isArray(model.fields)) {
189
323
  model.fields = [];
190
324
  }
@@ -192,12 +326,14 @@ function normalizeConfig(config) {
192
326
  // rename old 'template' property to 'layout'
193
327
  utils_2.rename(model, 'template', 'layout');
194
328
  updatePageUrlPath(model);
195
- updatePageFilePath(model, config);
196
- addMarkdownContentField(model);
197
- // TODO: update schema-editor to not show layout field
198
- addLayoutFieldToPageModel(model, pageLayoutKey);
329
+ if (gitCMS) {
330
+ updatePageFilePath(model, config);
331
+ addMarkdownContentField(model);
332
+ // TODO: update schema-editor to not show layout field
333
+ addLayoutFieldToPageModel(model, pageLayoutKey);
334
+ }
199
335
  }
200
- else if (utils_1.isDataModel(model)) {
336
+ else if (utils_1.isDataModel(model) && gitCMS) {
201
337
  updateDataFilePath(model, config);
202
338
  }
203
339
  if (utils_1.isListDataModel(model)) {
@@ -212,26 +348,17 @@ function normalizeConfig(config) {
212
348
  else if (!lodash_1.default.has(model, 'labelField')) {
213
349
  utils_1.assignLabelFieldIfNeeded(model);
214
350
  }
215
- resolveThumbnailPathForModel(model, (_a = model === null || model === void 0 ? void 0 : model.__metadata) === null || _a === void 0 ? void 0 : _a.filePath);
216
351
  utils_1.iterateModelFieldsRecursively(model, (field) => {
217
- var _a, _b;
218
352
  // add field label if label is not set
219
353
  if (!lodash_1.default.has(field, 'label')) {
220
354
  field.label = lodash_1.default.startCase(field.name);
221
355
  }
222
356
  if (utils_1.isListField(field)) {
223
- // 'items.type' of list field default to 'string', set it explicitly
224
- if (!lodash_1.default.has(field, 'items.type')) {
225
- lodash_1.default.set(field, 'items.type', 'string');
226
- }
227
- field = utils_1.getListItemsField(field);
357
+ field = utils_1.normalizeListFieldInPlace(field);
358
+ field = field.items;
228
359
  }
229
360
  if (utils_1.isObjectField(field)) {
230
361
  utils_1.assignLabelFieldIfNeeded(field);
231
- resolveThumbnailPathForModel(field, (_a = model === null || model === void 0 ? void 0 : model.__metadata) === null || _a === void 0 ? void 0 : _a.filePath);
232
- }
233
- else if (utils_1.isEnumField(field)) {
234
- resolveThumbnailPathForEnumField(field, (_b = model === null || model === void 0 ? void 0 : model.__metadata) === null || _b === void 0 ? void 0 : _b.filePath);
235
362
  }
236
363
  else if (utils_1.isCustomModelField(field, models)) {
237
364
  // stackbit v0.2.0 compatibility
@@ -262,7 +389,9 @@ function normalizeConfig(config) {
262
389
  field.models = lodash_1.default.get(field, 'models', []);
263
390
  }
264
391
  }
265
- referencedModelNames = lodash_1.default.union(referencedModelNames, getReferencedModelNames(field));
392
+ if (gitCMS) {
393
+ referencedModelNames = lodash_1.default.union(referencedModelNames, getReferencedModelNames(field));
394
+ }
266
395
  });
267
396
  });
268
397
  lodash_1.default.forEach(referencedModelNames, (modelName) => {
@@ -393,6 +522,9 @@ function resolveThumbnailPathForEnumField(enumField, modelFilePath) {
393
522
  }
394
523
  }
395
524
  function resolveThumbnailPath(thumbnail, modelDirPath) {
525
+ if (thumbnail.startsWith('//') || /https?:\/\//.test(thumbnail)) {
526
+ return thumbnail;
527
+ }
396
528
  if (thumbnail.startsWith('/')) {
397
529
  if (modelDirPath.endsWith('@stackbit/components/models')) {
398
530
  modelDirPath = modelDirPath.replace(/\/models$/, '');
@@ -413,7 +545,7 @@ function resolveThumbnailPath(thumbnail, modelDirPath) {
413
545
  function getReferencedModelNames(field) {
414
546
  var _a, _b;
415
547
  if (utils_1.isListField(field)) {
416
- field = utils_1.getListItemsField(field);
548
+ field = utils_1.getListFieldItems(field);
417
549
  }
418
550
  // TODO: add type field to model fields inside container update/create object logic rather adding type to schema
419
551
  // 'object' models referenced by 'model' fields should have 'type' field
@@ -434,7 +566,9 @@ function validateAndExtendContentModels(config) {
434
566
  var _a, _b;
435
567
  const contentModels = (_a = config.contentModels) !== null && _a !== void 0 ? _a : {};
436
568
  const models = (_b = config.models) !== null && _b !== void 0 ? _b : {};
437
- if (lodash_1.default.isEmpty(contentModels)) {
569
+ const externalModels = !isGitCMS(config);
570
+ const emptyContentModels = lodash_1.default.isEmpty(contentModels);
571
+ if (externalModels || emptyContentModels) {
438
572
  return {
439
573
  valid: true,
440
574
  value: config,
@@ -443,16 +577,16 @@ function validateAndExtendContentModels(config) {
443
577
  }
444
578
  const validationResult = config_validator_1.validateContentModels(contentModels, models);
445
579
  if (lodash_1.default.isEmpty(models)) {
446
- return validationResult;
580
+ return {
581
+ valid: validationResult.valid,
582
+ value: config,
583
+ errors: validationResult.errors
584
+ };
447
585
  }
448
586
  const extendedModels = lodash_1.default.mapValues(models, (model, modelName) => {
449
587
  const contentModel = validationResult.value.contentModels[modelName];
450
588
  if (!contentModel) {
451
- return {
452
- // if a model does not define a type, use the default "object" type
453
- type: model.type || 'object',
454
- ...lodash_1.default.omit(model, 'type')
455
- };
589
+ return model;
456
590
  }
457
591
  if (lodash_1.default.get(contentModel, '__metadata.invalid')) {
458
592
  return model;
@@ -487,9 +621,41 @@ function validateAndExtendContentModels(config) {
487
621
  };
488
622
  }
489
623
  function normalizeValidationResult(validationResult) {
624
+ validationResult = filterAndOrderConfigFields(validationResult);
490
625
  convertModelGroupsToModelList(validationResult);
491
626
  return convertModelsToArray(validationResult);
492
627
  }
628
+ function filterAndOrderConfigFields(validationResult) {
629
+ // TODO: see if we move filtering and sorting to Joi
630
+ return {
631
+ ...validationResult,
632
+ value: lodash_1.default.pick(validationResult.value, [
633
+ 'stackbitVersion',
634
+ 'ssgName',
635
+ 'ssgVersion',
636
+ 'cmsName',
637
+ 'import',
638
+ 'buildCommand',
639
+ 'publishDir',
640
+ 'nodeVersion',
641
+ 'devCommand',
642
+ 'staticDir',
643
+ 'uploadDir',
644
+ 'assets',
645
+ 'pagesDir',
646
+ 'dataDir',
647
+ 'pageLayoutKey',
648
+ 'objectTypeKey',
649
+ 'styleObjectModelName',
650
+ 'excludePages',
651
+ 'logicFields',
652
+ 'contentModels',
653
+ 'modelsSource',
654
+ 'models',
655
+ 'presets'
656
+ ])
657
+ };
658
+ }
493
659
  function convertModelGroupsToModelList(validationResult) {
494
660
  var _a, _b;
495
661
  const models = (_b = (_a = validationResult.value) === null || _a === void 0 ? void 0 : _a.models) !== null && _b !== void 0 ? _b : {};
@@ -513,7 +679,7 @@ function convertModelGroupsToModelList(validationResult) {
513
679
  lodash_1.default.forEach(models, (model) => {
514
680
  utils_1.iterateModelFieldsRecursively(model, (field) => {
515
681
  if (utils_1.isListField(field)) {
516
- field = utils_1.getListItemsField(field);
682
+ field = field.items;
517
683
  }
518
684
  if (field.groups) {
519
685
  let key = null;
@@ -547,6 +713,9 @@ function convertModelsToArray(validationResult) {
547
713
  ...yamlModel
548
714
  };
549
715
  });
716
+ if (!isGitCMS(config)) {
717
+ addImageModel(modelArray);
718
+ }
550
719
  const convertedErrors = lodash_1.default.map(validationResult.errors, (error) => {
551
720
  if (error.fieldPath[0] === 'models' && typeof error.fieldPath[1] == 'string') {
552
721
  const modelName = error.fieldPath[1];
@@ -566,4 +735,19 @@ function convertModelsToArray(validationResult) {
566
735
  errors: convertedErrors
567
736
  };
568
737
  }
738
+ function addImageModel(models) {
739
+ models.push({
740
+ type: 'image',
741
+ name: '__image_model',
742
+ label: 'Image',
743
+ labelField: 'title',
744
+ fields: [
745
+ { name: 'title', type: 'string' },
746
+ { name: 'url', type: 'string' }
747
+ ]
748
+ });
749
+ }
750
+ function isGitCMS(config) {
751
+ return !config.cmsName || config.cmsName === 'git';
752
+ }
569
753
  //# sourceMappingURL=config-loader.js.map
@@ -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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"}