@pie-element/math-templated 2.12.1 → 2.14.0
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/CHANGELOG.md +28 -0
- package/configure/CHANGELOG.md +28 -0
- package/configure/lib/design.js +43 -7
- package/configure/lib/design.js.map +1 -1
- package/configure/lib/utils.js +15 -0
- package/configure/lib/utils.js.map +1 -0
- package/configure/package.json +2 -2
- package/controller/CHANGELOG.md +22 -0
- package/controller/lib/index.js +68 -2
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +2 -2
- package/module/configure.js +3780 -1946
- package/module/controller.js +57 -186
- package/module/element.js +1 -1
- package/module/index.html +1 -1
- package/module/manifest.json +2 -2
- package/module/print.html +1 -1
- package/module/print.js +1 -1
- package/package.json +3 -3
package/module/controller.js
CHANGED
|
@@ -3250,8 +3250,8 @@ function transformOptions(options) {
|
|
|
3250
3250
|
return options;
|
|
3251
3251
|
}
|
|
3252
3252
|
|
|
3253
|
-
function ownKeys
|
|
3254
|
-
function _objectSpread
|
|
3253
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3254
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3255
3255
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
|
|
3256
3256
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
3257
3257
|
function noop() {}
|
|
@@ -3311,9 +3311,9 @@ var I18n = function (_EventEmitter) {
|
|
|
3311
3311
|
}
|
|
3312
3312
|
}
|
|
3313
3313
|
var defOpts = get$1();
|
|
3314
|
-
this.options = _objectSpread
|
|
3314
|
+
this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));
|
|
3315
3315
|
if (this.options.compatibilityAPI !== 'v1') {
|
|
3316
|
-
this.options.interpolation = _objectSpread
|
|
3316
|
+
this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);
|
|
3317
3317
|
}
|
|
3318
3318
|
if (options.keySeparator !== undefined) {
|
|
3319
3319
|
this.options.userDefinedKeySeparator = options.keySeparator;
|
|
@@ -3591,7 +3591,7 @@ var I18n = function (_EventEmitter) {
|
|
|
3591
3591
|
}
|
|
3592
3592
|
options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));
|
|
3593
3593
|
} else {
|
|
3594
|
-
options = _objectSpread
|
|
3594
|
+
options = _objectSpread({}, opts);
|
|
3595
3595
|
}
|
|
3596
3596
|
options.lng = options.lng || fixedT.lng;
|
|
3597
3597
|
options.lngs = options.lngs || fixedT.lngs;
|
|
@@ -3718,7 +3718,7 @@ var I18n = function (_EventEmitter) {
|
|
|
3718
3718
|
var _this8 = this;
|
|
3719
3719
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
3720
3720
|
var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;
|
|
3721
|
-
var mergedOptions = _objectSpread
|
|
3721
|
+
var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {
|
|
3722
3722
|
isClone: true
|
|
3723
3723
|
});
|
|
3724
3724
|
var clone = new I18n(mergedOptions);
|
|
@@ -3729,7 +3729,7 @@ var I18n = function (_EventEmitter) {
|
|
|
3729
3729
|
membersToCopy.forEach(function (m) {
|
|
3730
3730
|
clone[m] = _this8[m];
|
|
3731
3731
|
});
|
|
3732
|
-
clone.services = _objectSpread
|
|
3732
|
+
clone.services = _objectSpread({}, this.services);
|
|
3733
3733
|
clone.services.utils = {
|
|
3734
3734
|
hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)
|
|
3735
3735
|
};
|
|
@@ -4041,185 +4041,6 @@ exports["default"] = _default;
|
|
|
4041
4041
|
|
|
4042
4042
|
var Translator = /*@__PURE__*/getDefaultExportFromCjs(translator$2);
|
|
4043
4043
|
|
|
4044
|
-
var feedback$1 = {};
|
|
4045
|
-
|
|
4046
|
-
var feedback = {};
|
|
4047
|
-
|
|
4048
|
-
var _interopRequireDefault$2 = interopRequireDefault.exports;
|
|
4049
|
-
|
|
4050
|
-
Object.defineProperty(feedback, "__esModule", {
|
|
4051
|
-
value: true
|
|
4052
|
-
});
|
|
4053
|
-
feedback.getFeedbackForCorrectness = feedback.getFeedback = feedback.getActualFeedbackForCorrectness = feedback.getActualFeedback = feedback.defaults = void 0;
|
|
4054
|
-
|
|
4055
|
-
var _defineProperty2 = _interopRequireDefault$2(defineProperty$1.exports);
|
|
4056
|
-
|
|
4057
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4058
|
-
|
|
4059
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4060
|
-
|
|
4061
|
-
var defaults$1 = {
|
|
4062
|
-
correct: {
|
|
4063
|
-
type: 'default',
|
|
4064
|
-
"default": 'Correct',
|
|
4065
|
-
custom: 'Correct'
|
|
4066
|
-
},
|
|
4067
|
-
incorrect: {
|
|
4068
|
-
type: 'default',
|
|
4069
|
-
"default": 'Incorrect',
|
|
4070
|
-
custom: 'Incorrect'
|
|
4071
|
-
},
|
|
4072
|
-
partial: {
|
|
4073
|
-
type: 'default',
|
|
4074
|
-
"default": 'Nearly',
|
|
4075
|
-
custom: 'Nearly'
|
|
4076
|
-
},
|
|
4077
|
-
unanswered: {
|
|
4078
|
-
type: 'default',
|
|
4079
|
-
"default": 'You have not entered a response',
|
|
4080
|
-
custom: 'You have not entered a response'
|
|
4081
|
-
}
|
|
4082
|
-
};
|
|
4083
|
-
/**
|
|
4084
|
-
* @typedef {Object} FeedbackConfig
|
|
4085
|
-
* @property {'default'|'none'|'custom'} type
|
|
4086
|
-
* @property {string} default
|
|
4087
|
-
* @property {string} custom
|
|
4088
|
-
*
|
|
4089
|
-
* @typedef {Object} Feedback
|
|
4090
|
-
* @property {FeedbackConfig} correct
|
|
4091
|
-
* @property {FeedbackConfig} incorrect
|
|
4092
|
-
* @property {FeedbackConfig} partial
|
|
4093
|
-
*/
|
|
4094
|
-
|
|
4095
|
-
feedback.defaults = defaults$1;
|
|
4096
|
-
|
|
4097
|
-
var normalizeCorrectness = function normalizeCorrectness(c) {
|
|
4098
|
-
if (c === 'partially-correct') {
|
|
4099
|
-
return 'partial';
|
|
4100
|
-
}
|
|
4101
|
-
|
|
4102
|
-
return c;
|
|
4103
|
-
};
|
|
4104
|
-
/**
|
|
4105
|
-
* Get the feedback for the correctness
|
|
4106
|
-
*
|
|
4107
|
-
* @param {'correct'|'incorrect'|'partial'} correctness
|
|
4108
|
-
* @param {Feedback} feedback
|
|
4109
|
-
*/
|
|
4110
|
-
|
|
4111
|
-
|
|
4112
|
-
var getFeedbackForCorrectness = function getFeedbackForCorrectness(correctness, feedback) {
|
|
4113
|
-
return new Promise(function (resolve) {
|
|
4114
|
-
feedback = _objectSpread(_objectSpread({}, defaults$1), feedback);
|
|
4115
|
-
correctness = normalizeCorrectness(correctness);
|
|
4116
|
-
var fb = feedback[correctness] || defaults$1[correctness] || {};
|
|
4117
|
-
var d = defaults$1[correctness] || {};
|
|
4118
|
-
getFeedback(fb, d[fb.type || 'default']).then(function (result) {
|
|
4119
|
-
return resolve(result);
|
|
4120
|
-
});
|
|
4121
|
-
});
|
|
4122
|
-
};
|
|
4123
|
-
/**
|
|
4124
|
-
* Get the feedback from a {FeedbackConfig}
|
|
4125
|
-
*
|
|
4126
|
-
* @param {FeedbackConfig} feedback
|
|
4127
|
-
* @param {string} fallback
|
|
4128
|
-
*/
|
|
4129
|
-
|
|
4130
|
-
|
|
4131
|
-
feedback.getFeedbackForCorrectness = getFeedbackForCorrectness;
|
|
4132
|
-
|
|
4133
|
-
var getFeedback = function getFeedback(feedback, fallback) {
|
|
4134
|
-
return new Promise(function (resolve) {
|
|
4135
|
-
if (!feedback || feedback.type === 'none') {
|
|
4136
|
-
resolve(undefined);
|
|
4137
|
-
return;
|
|
4138
|
-
}
|
|
4139
|
-
|
|
4140
|
-
feedback = feedback || {};
|
|
4141
|
-
var out = feedback[feedback.type] || fallback;
|
|
4142
|
-
resolve(out);
|
|
4143
|
-
});
|
|
4144
|
-
}; // TODO: should replace getFeedbackForCorrectness
|
|
4145
|
-
|
|
4146
|
-
/**
|
|
4147
|
-
* Get feedback for correctness
|
|
4148
|
-
* @param {'correct'|'incorrect'|'partial'} correctness
|
|
4149
|
-
* @param {Feedback} feedback
|
|
4150
|
-
*/
|
|
4151
|
-
|
|
4152
|
-
|
|
4153
|
-
feedback.getFeedback = getFeedback;
|
|
4154
|
-
|
|
4155
|
-
var getActualFeedbackForCorrectness = function getActualFeedbackForCorrectness(correctness, feedback) {
|
|
4156
|
-
feedback = _objectSpread(_objectSpread({}, defaults$1), feedback); // normalize correctness
|
|
4157
|
-
|
|
4158
|
-
correctness = correctness === 'partially-correct' ? 'partial' : correctness;
|
|
4159
|
-
var defaultFeedback = defaults$1[correctness] || {};
|
|
4160
|
-
var fb = feedback[correctness] || defaultFeedback;
|
|
4161
|
-
return getActualFeedback(fb, defaultFeedback[fb.type || 'default']);
|
|
4162
|
-
}; // TODO: should replace getFeedback
|
|
4163
|
-
|
|
4164
|
-
/**
|
|
4165
|
-
* Get the feedback from a {FeedbackConfig}
|
|
4166
|
-
* @param {FeedbackConfig} feedback
|
|
4167
|
-
* @param {string} fallback
|
|
4168
|
-
*/
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
feedback.getActualFeedbackForCorrectness = getActualFeedbackForCorrectness;
|
|
4172
|
-
|
|
4173
|
-
var getActualFeedback = function getActualFeedback(feedback, fallback) {
|
|
4174
|
-
if (!feedback || feedback.type === 'none') {
|
|
4175
|
-
return undefined;
|
|
4176
|
-
}
|
|
4177
|
-
|
|
4178
|
-
return feedback[feedback.type] || fallback;
|
|
4179
|
-
};
|
|
4180
|
-
|
|
4181
|
-
feedback.getActualFeedback = getActualFeedback;
|
|
4182
|
-
|
|
4183
|
-
(function (exports) {
|
|
4184
|
-
|
|
4185
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4186
|
-
value: true
|
|
4187
|
-
});
|
|
4188
|
-
Object.defineProperty(exports, "defaults", {
|
|
4189
|
-
enumerable: true,
|
|
4190
|
-
get: function get() {
|
|
4191
|
-
return _feedback.defaults;
|
|
4192
|
-
}
|
|
4193
|
-
});
|
|
4194
|
-
Object.defineProperty(exports, "getActualFeedback", {
|
|
4195
|
-
enumerable: true,
|
|
4196
|
-
get: function get() {
|
|
4197
|
-
return _feedback.getActualFeedback;
|
|
4198
|
-
}
|
|
4199
|
-
});
|
|
4200
|
-
Object.defineProperty(exports, "getActualFeedbackForCorrectness", {
|
|
4201
|
-
enumerable: true,
|
|
4202
|
-
get: function get() {
|
|
4203
|
-
return _feedback.getActualFeedbackForCorrectness;
|
|
4204
|
-
}
|
|
4205
|
-
});
|
|
4206
|
-
Object.defineProperty(exports, "getFeedback", {
|
|
4207
|
-
enumerable: true,
|
|
4208
|
-
get: function get() {
|
|
4209
|
-
return _feedback.getFeedback;
|
|
4210
|
-
}
|
|
4211
|
-
});
|
|
4212
|
-
Object.defineProperty(exports, "getFeedbackForCorrectness", {
|
|
4213
|
-
enumerable: true,
|
|
4214
|
-
get: function get() {
|
|
4215
|
-
return _feedback.getFeedbackForCorrectness;
|
|
4216
|
-
}
|
|
4217
|
-
});
|
|
4218
|
-
|
|
4219
|
-
var _feedback = feedback;
|
|
4220
|
-
|
|
4221
|
-
}(feedback$1));
|
|
4222
|
-
|
|
4223
4044
|
// Should be exactly the same as configure/defaults.js
|
|
4224
4045
|
var defaults = {
|
|
4225
4046
|
model: {
|
|
@@ -22971,6 +22792,7 @@ var _controllerUtils = controllerUtils;
|
|
|
22971
22792
|
}(controllerUtils$1));
|
|
22972
22793
|
|
|
22973
22794
|
const { translator } = Translator;
|
|
22795
|
+
const getContent = (html) => (html || '').replace(/(<(?!img|iframe)([^>]+)>)/gi, '');
|
|
22974
22796
|
|
|
22975
22797
|
const getIsAnswerCorrect = (correctResponse, answerItem) => {
|
|
22976
22798
|
let answerCorrect = false;
|
|
@@ -23175,8 +22997,57 @@ const createCorrectResponseSession = (question, env) =>
|
|
|
23175
22997
|
});
|
|
23176
22998
|
|
|
23177
22999
|
const validate = (model = {}, config = {}) => {
|
|
23000
|
+
const { responses, markup } = model;
|
|
23001
|
+
const { maxResponseAreas } = config;
|
|
23002
|
+
const responsesErrors = {};
|
|
23178
23003
|
const errors = {};
|
|
23179
23004
|
|
|
23005
|
+
['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {
|
|
23006
|
+
if (config[field]?.required && !getContent(model[field])) {
|
|
23007
|
+
errors[field] = 'This field is required.';
|
|
23008
|
+
}
|
|
23009
|
+
});
|
|
23010
|
+
|
|
23011
|
+
Object.entries(responses || {}).forEach(([key, response], index) => {
|
|
23012
|
+
const { answer } = response;
|
|
23013
|
+
const reversedAlternates = [...Object.entries(response.alternates || {})].reverse();
|
|
23014
|
+
const alternatesErrors = {};
|
|
23015
|
+
const responseError = {};
|
|
23016
|
+
|
|
23017
|
+
if (answer === '') {
|
|
23018
|
+
responseError.answer = 'Content should not be empty.';
|
|
23019
|
+
}
|
|
23020
|
+
|
|
23021
|
+
reversedAlternates.forEach(([key, value], index) => {
|
|
23022
|
+
if (value === '') {
|
|
23023
|
+
alternatesErrors[key] = 'Content should not be empty.';
|
|
23024
|
+
} else {
|
|
23025
|
+
const identicalAnswer =
|
|
23026
|
+
answer === value || reversedAlternates.slice(index + 1).some(([, val]) => val === value);
|
|
23027
|
+
|
|
23028
|
+
if (identicalAnswer) {
|
|
23029
|
+
alternatesErrors[key] = 'Content should be unique.';
|
|
23030
|
+
}
|
|
23031
|
+
}
|
|
23032
|
+
});
|
|
23033
|
+
|
|
23034
|
+
if (!isEmpty_1(responseError) || !isEmpty_1(alternatesErrors)) {
|
|
23035
|
+
responsesErrors[index] = { ...responseError, ...alternatesErrors };
|
|
23036
|
+
}
|
|
23037
|
+
});
|
|
23038
|
+
|
|
23039
|
+
const nbOfResponseAreas = (markup.match(/\{\{(\d+)\}\}/g) || []).length;
|
|
23040
|
+
|
|
23041
|
+
if (nbOfResponseAreas > maxResponseAreas) {
|
|
23042
|
+
errors.responseAreas = `No more than ${maxResponseAreas} response areas should be defined.`;
|
|
23043
|
+
} else if (nbOfResponseAreas < 1) {
|
|
23044
|
+
errors.responseAreas = 'There should be at least 1 response area defined.';
|
|
23045
|
+
}
|
|
23046
|
+
|
|
23047
|
+
if (!isEmpty_1(responsesErrors)) {
|
|
23048
|
+
errors.responses = responsesErrors;
|
|
23049
|
+
}
|
|
23050
|
+
|
|
23180
23051
|
return errors;
|
|
23181
23052
|
};
|
|
23182
23053
|
|
package/module/element.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_debug, _dll_lodash, _dll_react_dom_server, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_pie_framework__mathquill} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.
|
|
1
|
+
import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_debug, _dll_lodash, _dll_react_dom_server, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_pie_framework__mathquill} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.14.0/module/index.js";
|
|
2
2
|
import {_dll_pie_lib__pie_toolbox_math_input, _dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@4.12.0/module/index.js";
|
|
3
3
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
4
4
|
function getDefaultExportFromCjs(x) {
|
package/module/index.html
CHANGED
package/module/manifest.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/math-templated",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"modules": [
|
|
5
5
|
{
|
|
6
6
|
"name": "@pie-lib/pie-toolbox-math-rendering-module",
|
|
7
|
-
"version": "1.
|
|
7
|
+
"version": "1.14.0"
|
|
8
8
|
},
|
|
9
9
|
{
|
|
10
10
|
"name": "@pie-lib/pie-toolbox-module",
|
package/module/print.html
CHANGED
package/module/print.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_debug, _dll_lodash, _dll_react_dom_server, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_pie_framework__mathquill} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.
|
|
1
|
+
import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_debug, _dll_lodash, _dll_react_dom_server, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_pie_framework__mathquill} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.14.0/module/index.js";
|
|
2
2
|
import {_dll_pie_lib__pie_toolbox_math_input, _dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@4.12.0/module/index.js";
|
|
3
3
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
4
4
|
function getDefaultExportFromCjs(x) {
|
package/package.json
CHANGED
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "2.
|
|
7
|
+
"version": "2.14.0",
|
|
8
8
|
"description": "",
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@material-ui/core": "^3.9.2",
|
|
11
11
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
12
|
-
"@pie-lib/pie-toolbox": "1.21.
|
|
12
|
+
"@pie-lib/pie-toolbox": "1.21.1",
|
|
13
13
|
"prop-types": "^15.6.1",
|
|
14
14
|
"react": "^16.8.1",
|
|
15
15
|
"react-dom": "^16.8.1"
|
|
16
16
|
},
|
|
17
17
|
"author": "",
|
|
18
18
|
"license": "ISC",
|
|
19
|
-
"gitHead": "
|
|
19
|
+
"gitHead": "b2a26cca9c68cb159752b0d8b1325e474d4e1083",
|
|
20
20
|
"scripts": {
|
|
21
21
|
"postpublish": "../../scripts/postpublish"
|
|
22
22
|
},
|