@jupyterlab/settingregistry 4.0.0-alpha.9 → 4.0.0-beta.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.
@@ -11,6 +11,17 @@ import SCHEMA from './plugin-schema.json';
11
11
  * An alias for the JSON deep copy function.
12
12
  */
13
13
  const copy = JSONExt.deepCopy;
14
+ /** Default arguments for Ajv instances.
15
+ *
16
+ * https://ajv.js.org/options.html
17
+ */
18
+ const AJV_DEFAULT_OPTIONS = {
19
+ /**
20
+ * @todo the implications of enabling strict mode are beyond the scope of
21
+ * the initial PR
22
+ */
23
+ strict: false
24
+ };
14
25
  /**
15
26
  * The default number of milliseconds before a `load()` call to the registry
16
27
  * will wait before timing out if it requires a transformation that has not been
@@ -29,8 +40,11 @@ export class DefaultSchemaValidator {
29
40
  * Instantiate a schema validator.
30
41
  */
31
42
  constructor() {
32
- this._composer = new Ajv({ useDefaults: true });
33
- this._validator = new Ajv();
43
+ this._composer = new Ajv({
44
+ useDefaults: true,
45
+ ...AJV_DEFAULT_OPTIONS
46
+ });
47
+ this._validator = new Ajv({ ...AJV_DEFAULT_OPTIONS });
34
48
  this._composer.addSchema(SCHEMA, 'jupyterlab-plugin-schema');
35
49
  this._validator.addSchema(SCHEMA, 'jupyterlab-plugin-schema');
36
50
  }
@@ -55,7 +69,7 @@ export class DefaultSchemaValidator {
55
69
  const keyword = 'schema';
56
70
  const message = `Setting registry schemas' root-level type must be ` +
57
71
  `'object', rejecting type: ${plugin.schema.type}`;
58
- return [{ dataPath: 'type', keyword, schemaPath: '', message }];
72
+ return [{ instancePath: 'type', keyword, schemaPath: '', message }];
59
73
  }
60
74
  const errors = this._addSchema(plugin.id, plugin.schema);
61
75
  return errors || this.validateData(plugin);
@@ -69,7 +83,7 @@ export class DefaultSchemaValidator {
69
83
  if (error instanceof SyntaxError) {
70
84
  return [
71
85
  {
72
- dataPath: '',
86
+ instancePath: '',
73
87
  keyword: 'syntax',
74
88
  schemaPath: '',
75
89
  message: error.message
@@ -80,7 +94,7 @@ export class DefaultSchemaValidator {
80
94
  const line = error.lineNumber;
81
95
  return [
82
96
  {
83
- dataPath: '',
97
+ instancePath: '',
84
98
  keyword: 'parse',
85
99
  schemaPath: '',
86
100
  message: `${description} (line ${line} column ${column})`
@@ -153,11 +167,18 @@ export class SettingRegistry {
153
167
  this._pluginChanged = new Signal(this);
154
168
  this._ready = Promise.resolve();
155
169
  this._transformers = Object.create(null);
170
+ this._unloadedPlugins = new Map();
156
171
  this.connector = options.connector;
157
172
  this.validator = options.validator || new DefaultSchemaValidator();
158
173
  this._timeout = options.timeout || DEFAULT_TRANSFORM_TIMEOUT;
159
- // Preload with any available data at instantiation-time.
174
+ // Plugins with transformation may not be loaded if the transformation function is
175
+ // not yet available. To avoid fetching again the associated data when the transformation
176
+ // function is available, the plugin data is kept in cache.
160
177
  if (options.plugins) {
178
+ options.plugins
179
+ .filter(plugin => plugin.schema['jupyter.lab.transform'])
180
+ .forEach(plugin => this._unloadedPlugins.set(plugin.id, plugin));
181
+ // Preload with any available data at instantiation-time.
161
182
  this._ready = this._preload(options.plugins);
162
183
  }
163
184
  }
@@ -194,18 +215,36 @@ export class SettingRegistry {
194
215
  *
195
216
  * @param plugin - The name of the plugin whose settings are being loaded.
196
217
  *
218
+ * @param forceTransform - An optional parameter to force replay the transforms methods.
219
+ *
197
220
  * @returns A promise that resolves with a plugin settings object or rejects
198
221
  * if the plugin is not found.
199
222
  */
200
- async load(plugin) {
223
+ async load(plugin, forceTransform = false) {
201
224
  // Wait for data preload before allowing normal operation.
202
225
  await this._ready;
203
226
  const plugins = this.plugins;
204
227
  const registry = this; // eslint-disable-line
205
228
  // If the plugin exists, resolve.
206
229
  if (plugin in plugins) {
230
+ // Force replaying the transform function if expected.
231
+ if (forceTransform) {
232
+ // Empty the composite and user data before replaying the transforms.
233
+ plugins[plugin].data = { composite: {}, user: {} };
234
+ await this._load(await this._transform('fetch', plugins[plugin]));
235
+ this._pluginChanged.emit(plugin);
236
+ }
207
237
  return new Settings({ plugin: plugins[plugin], registry });
208
238
  }
239
+ // If the plugin is not loaded but has already been fetched.
240
+ if (this._unloadedPlugins.has(plugin) && plugin in this._transformers) {
241
+ await this._load(await this._transform('fetch', this._unloadedPlugins.get(plugin)));
242
+ if (plugin in plugins) {
243
+ this._pluginChanged.emit(plugin);
244
+ this._unloadedPlugins.delete(plugin);
245
+ return new Settings({ plugin: plugins[plugin], registry });
246
+ }
247
+ }
209
248
  // If the plugin needs to be loaded from the data connector, fetch.
210
249
  return this.reload(plugin);
211
250
  }
@@ -226,7 +265,7 @@ export class SettingRegistry {
226
265
  if (fetched === undefined) {
227
266
  throw [
228
267
  {
229
- dataPath: '',
268
+ instancePath: '',
230
269
  keyword: 'id',
231
270
  message: `Could not fetch settings for ${plugin}.`,
232
271
  schemaPath: ''
@@ -281,7 +320,10 @@ export class SettingRegistry {
281
320
  }
282
321
  // Parse the raw JSON string removing all comments and return an object.
283
322
  const raw = json5.parse(plugins[plugin].raw);
284
- plugins[plugin].raw = Private.annotatedPlugin(plugins[plugin], Object.assign(Object.assign({}, raw), { [key]: value }));
323
+ plugins[plugin].raw = Private.annotatedPlugin(plugins[plugin], {
324
+ ...raw,
325
+ [key]: value
326
+ });
285
327
  return this._save(plugin);
286
328
  }
287
329
  /**
@@ -305,7 +347,9 @@ export class SettingRegistry {
305
347
  transform(plugin, transforms) {
306
348
  const transformers = this._transformers;
307
349
  if (plugin in transformers) {
308
- throw new Error(`${plugin} already has a transformer.`);
350
+ const error = new Error(`${plugin} already has a transformer.`);
351
+ error.name = 'TransformError';
352
+ throw error;
309
353
  }
310
354
  transformers[plugin] = {
311
355
  fetch: transforms.fetch || (plugin => plugin),
@@ -347,9 +391,9 @@ export class SettingRegistry {
347
391
  catch (errors) {
348
392
  const output = [`Validating ${plugin} failed:`];
349
393
  errors.forEach((error, index) => {
350
- const { dataPath, schemaPath, keyword, message } = error;
351
- if (dataPath || schemaPath) {
352
- output.push(`${index} - schema @ ${schemaPath}, data @ ${dataPath}`);
394
+ const { instancePath, schemaPath, keyword, message } = error;
395
+ if (instancePath || schemaPath) {
396
+ output.push(`${index} - schema @ ${schemaPath}, data @ ${instancePath}`);
353
397
  }
354
398
  output.push(`{${keyword}} ${message}`);
355
399
  });
@@ -396,7 +440,7 @@ export class SettingRegistry {
396
440
  if (fetched === undefined) {
397
441
  throw [
398
442
  {
399
- dataPath: '',
443
+ instancePath: '',
400
444
  keyword: 'id',
401
445
  message: `Could not fetch settings for ${plugin}.`,
402
446
  schemaPath: ''
@@ -422,7 +466,7 @@ export class SettingRegistry {
422
466
  if (transformed.id !== id) {
423
467
  throw [
424
468
  {
425
- dataPath: '',
469
+ instancePath: '',
426
470
  keyword: 'id',
427
471
  message: 'Plugin transformations cannot change plugin IDs.',
428
472
  schemaPath: ''
@@ -442,7 +486,7 @@ export class SettingRegistry {
442
486
  }
443
487
  throw [
444
488
  {
445
- dataPath: '',
489
+ instancePath: '',
446
490
  keyword: 'timeout',
447
491
  message: `Transforming ${plugin.id} timed out.`,
448
492
  schemaPath: ''
@@ -462,14 +506,58 @@ export class SettingRegistry {
462
506
  this.plugins[plugin.id] = await this._transform('compose', plugin);
463
507
  }
464
508
  }
509
+ /**
510
+ * Base settings specified by a JSON schema.
511
+ */
512
+ export class BaseSettings {
513
+ constructor(options) {
514
+ this._schema = options.schema;
515
+ }
516
+ /**
517
+ * The plugin's schema.
518
+ */
519
+ get schema() {
520
+ return this._schema;
521
+ }
522
+ /**
523
+ * Checks if any fields are different from the default value.
524
+ */
525
+ isDefault(user) {
526
+ for (const key in this.schema.properties) {
527
+ const value = user[key];
528
+ const defaultValue = this.default(key);
529
+ if (value === undefined ||
530
+ defaultValue === undefined ||
531
+ JSONExt.deepEqual(value, JSONExt.emptyObject) ||
532
+ JSONExt.deepEqual(value, JSONExt.emptyArray)) {
533
+ continue;
534
+ }
535
+ if (!JSONExt.deepEqual(value, defaultValue)) {
536
+ return false;
537
+ }
538
+ }
539
+ return true;
540
+ }
541
+ /**
542
+ * Calculate the default value of a setting by iterating through the schema.
543
+ *
544
+ * @param key - The name of the setting whose default value is calculated.
545
+ *
546
+ * @returns A calculated default JSON value for a specific setting.
547
+ */
548
+ default(key) {
549
+ return Private.reifyDefault(this.schema, key);
550
+ }
551
+ }
465
552
  /**
466
553
  * A manager for a specific plugin's settings.
467
554
  */
468
- export class Settings {
555
+ export class Settings extends BaseSettings {
469
556
  /**
470
557
  * Instantiate a new plugin settings manager.
471
558
  */
472
559
  constructor(options) {
560
+ super({ schema: options.plugin.schema });
473
561
  this._changed = new Signal(this);
474
562
  this._isDisposed = false;
475
563
  this.id = options.plugin.id;
@@ -497,12 +585,6 @@ export class Settings {
497
585
  get plugin() {
498
586
  return this.registry.plugins[this.id];
499
587
  }
500
- /**
501
- * The plugin's schema.
502
- */
503
- get schema() {
504
- return this.plugin.schema;
505
- }
506
588
  /**
507
589
  * The plugin settings raw text value.
508
590
  */
@@ -510,24 +592,8 @@ export class Settings {
510
592
  return this.plugin.raw;
511
593
  }
512
594
  /**
513
- * Checks if any fields are different from the default value.
595
+ * Whether the settings have been modified by the user or not.
514
596
  */
515
- isDefault(user) {
516
- for (const key in this.schema.properties) {
517
- const value = user[key];
518
- const defaultValue = this.default(key);
519
- if (value === undefined ||
520
- defaultValue === undefined ||
521
- JSONExt.deepEqual(value, JSONExt.emptyObject) ||
522
- JSONExt.deepEqual(value, JSONExt.emptyArray)) {
523
- continue;
524
- }
525
- if (!JSONExt.deepEqual(value, defaultValue)) {
526
- return false;
527
- }
528
- }
529
- return true;
530
- }
531
597
  get isModified() {
532
598
  return !this.isDefault(this.user);
533
599
  }
@@ -549,16 +615,6 @@ export class Settings {
549
615
  annotatedDefaults() {
550
616
  return Private.annotatedDefaults(this.schema, this.id);
551
617
  }
552
- /**
553
- * Calculate the default value of a setting by iterating through the schema.
554
- *
555
- * @param key - The name of the setting whose default value is calculated.
556
- *
557
- * @returns A calculated default JSON value for a specific setting.
558
- */
559
- default(key) {
560
- return Private.reifyDefault(this.schema, key);
561
- }
562
618
  /**
563
619
  * Dispose of the plugin settings resources.
564
620
  */
@@ -667,7 +723,11 @@ export class Settings {
667
723
  addition.forEach(menu => {
668
724
  const refIndex = merged.findIndex(ref => ref.id === menu.id);
669
725
  if (refIndex >= 0) {
670
- merged[refIndex] = Object.assign(Object.assign(Object.assign({}, merged[refIndex]), menu), { items: reconcileItems(merged[refIndex].items, menu.items, warn, addNewItems) });
726
+ merged[refIndex] = {
727
+ ...merged[refIndex],
728
+ ...menu,
729
+ items: reconcileItems(merged[refIndex].items, menu.items, warn, addNewItems)
730
+ };
671
731
  }
672
732
  else {
673
733
  if (addNewItems) {
@@ -700,7 +760,7 @@ export class Settings {
700
760
  switch ((_a = item.type) !== null && _a !== void 0 ? _a : 'command') {
701
761
  case 'separator':
702
762
  if (addNewItems) {
703
- items.push(Object.assign({}, item));
763
+ items.push({ ...item });
704
764
  }
705
765
  break;
706
766
  case 'submenu':
@@ -712,9 +772,13 @@ export class Settings {
712
772
  }
713
773
  }
714
774
  else {
715
- items[refIndex] = Object.assign(Object.assign(Object.assign({}, items[refIndex]), item), { submenu: reconcileMenus(items[refIndex].submenu
775
+ items[refIndex] = {
776
+ ...items[refIndex],
777
+ ...item,
778
+ submenu: reconcileMenus(items[refIndex].submenu
716
779
  ? [items[refIndex].submenu]
717
- : null, [item.submenu], warn, addNewItems)[0] });
780
+ : null, [item.submenu], warn, addNewItems)[0]
781
+ };
718
782
  }
719
783
  }
720
784
  break;
@@ -728,14 +792,14 @@ export class Settings {
728
792
  });
729
793
  if (refIndex < 0) {
730
794
  if (addNewItems) {
731
- items.push(Object.assign({}, item));
795
+ items.push({ ...item });
732
796
  }
733
797
  }
734
798
  else {
735
799
  if (warn) {
736
800
  console.warn(`Menu entry for command '${item.command}' is duplicated.`);
737
801
  }
738
- items[refIndex] = Object.assign(Object.assign({}, items[refIndex]), item);
802
+ items[refIndex] = { ...items[refIndex], ...item };
739
803
  }
740
804
  }
741
805
  }
@@ -752,12 +816,15 @@ export class Settings {
752
816
  function filterDisabledItems(items) {
753
817
  return items.reduce((final, value) => {
754
818
  var _a;
755
- const copy = Object.assign({}, value);
819
+ const copy = { ...value };
756
820
  if (!copy.disabled) {
757
821
  if (copy.type === 'submenu') {
758
822
  const { submenu } = copy;
759
823
  if (submenu && !submenu.disabled) {
760
- copy.submenu = Object.assign(Object.assign({}, submenu), { items: filterDisabledItems((_a = submenu.items) !== null && _a !== void 0 ? _a : []) });
824
+ copy.submenu = {
825
+ ...submenu,
826
+ items: filterDisabledItems((_a = submenu.items) !== null && _a !== void 0 ? _a : [])
827
+ };
761
828
  }
762
829
  }
763
830
  final.push(copy);
@@ -829,7 +896,7 @@ export class Settings {
829
896
  .filter(shortcut => !shortcut.disabled)
830
897
  // Fix shortcuts comparison in rjsf Form to avoid polluting the user settings
831
898
  .map(shortcut => {
832
- return Object.assign({ args: {} }, shortcut);
899
+ return { args: {}, ...shortcut };
833
900
  }));
834
901
  }
835
902
  SettingRegistry.reconcileShortcuts = reconcileShortcuts;
@@ -851,39 +918,17 @@ export class Settings {
851
918
  const items = JSONExt.deepCopy(reference);
852
919
  // Merge array element depending on the type
853
920
  addition.forEach(item => {
854
- switch (item.type) {
855
- case 'command':
856
- if (item.command) {
857
- const refIndex = items.findIndex(ref => {
858
- var _a, _b;
859
- return ref.name === item.name &&
860
- ref.command === item.command &&
861
- JSONExt.deepEqual((_a = ref.args) !== null && _a !== void 0 ? _a : {}, (_b = item.args) !== null && _b !== void 0 ? _b : {});
862
- });
863
- if (refIndex < 0) {
864
- items.push(Object.assign({}, item));
865
- }
866
- else {
867
- if (warn) {
868
- console.warn(`Toolbar item for command '${item.command}' is duplicated.`);
869
- }
870
- items[refIndex] = Object.assign(Object.assign({}, items[refIndex]), item);
871
- }
872
- }
873
- break;
874
- case 'spacer':
875
- default: {
876
- const refIndex = items.findIndex(ref => ref.name === item.name);
877
- if (refIndex < 0) {
878
- items.push(Object.assign({}, item));
879
- }
880
- else {
881
- if (warn) {
882
- console.warn(`Toolbar item '${item.name}' is duplicated.`);
883
- }
884
- items[refIndex] = Object.assign(Object.assign({}, items[refIndex]), item);
885
- }
921
+ // Name must be unique so it's sufficient to only compare it
922
+ const refIndex = items.findIndex(ref => ref.name === item.name);
923
+ if (refIndex < 0) {
924
+ items.push({ ...item });
925
+ }
926
+ else {
927
+ if (warn &&
928
+ JSONExt.deepEqual(Object.keys(item), Object.keys(items[refIndex]))) {
929
+ console.warn(`Toolbar item '${item.name}' is duplicated.`);
886
930
  }
931
+ items[refIndex] = { ...items[refIndex], ...item };
887
932
  }
888
933
  });
889
934
  return items;
@@ -999,9 +1044,9 @@ var Private;
999
1044
  /**
1000
1045
  * Create a fully extrapolated default value for a root key in a schema.
1001
1046
  */
1002
- function reifyDefault(schema, root) {
1003
- var _a, _b, _c;
1004
- const definitions = schema.definitions;
1047
+ function reifyDefault(schema, root, definitions) {
1048
+ var _a, _b, _c, _d;
1049
+ definitions = definitions !== null && definitions !== void 0 ? definitions : schema.definitions;
1005
1050
  // If the property is at the root level, traverse its schema.
1006
1051
  schema = (root ? (_a = schema.properties) === null || _a === void 0 ? void 0 : _a[root] : schema) || {};
1007
1052
  if (schema.type === 'object') {
@@ -1010,7 +1055,7 @@ var Private;
1010
1055
  // Iterate through and populate each child property.
1011
1056
  const props = schema.properties || {};
1012
1057
  for (const property in props) {
1013
- result[property] = reifyDefault(props[property]);
1058
+ result[property] = reifyDefault(props[property], undefined, definitions);
1014
1059
  }
1015
1060
  return result;
1016
1061
  }
@@ -1027,9 +1072,9 @@ var Private;
1027
1072
  // Iterate through the items in the array and fill in defaults
1028
1073
  for (const item in result) {
1029
1074
  // Use the values that are hard-coded in the default array over the defaults for each field.
1030
- const reified = reifyDefault(props) || {};
1075
+ const reified = (_c = reifyDefault(props, undefined, definitions)) !== null && _c !== void 0 ? _c : {};
1031
1076
  for (const prop in reified) {
1032
- if ((_c = result[item]) === null || _c === void 0 ? void 0 : _c[prop]) {
1077
+ if ((_d = result[item]) === null || _d === void 0 ? void 0 : _d[prop]) {
1033
1078
  reified[prop] = result[item][prop];
1034
1079
  }
1035
1080
  }
@@ -1 +1 @@
1
- {"version":3,"file":"settingregistry.js","sourceRoot":"","sources":["../src/settingregistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settingregistry.js","sourceRoot":"","sources":["../src/settingregistry.ts"],"names":[],"mappings":"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"}