@mat3ra/esse 2026.8.18-0 → 2026.8.18-2

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 (39) hide show
  1. package/dist/js/esse/JSONSchemasGenerator.d.ts +21 -0
  2. package/dist/js/esse/JSONSchemasGenerator.js +72 -0
  3. package/dist/js/esse/JSONSchemasInterface.d.ts +48 -0
  4. package/dist/js/esse/JSONSchemasInterface.js +80 -0
  5. package/dist/js/esse/JSONSchemasInterfaceServer.d.ts +9 -0
  6. package/dist/js/esse/JSONSchemasInterfaceServer.js +45 -0
  7. package/dist/js/esse/schemaUtils.d.ts +4 -0
  8. package/dist/js/esse/schemaUtils.js +16 -0
  9. package/dist/js/esse/server/utils.d.ts +12 -0
  10. package/dist/js/esse/server/utils.js +67 -0
  11. package/dist/js/esse/settings.d.ts +3 -0
  12. package/dist/js/esse/settings.js +10 -0
  13. package/dist/js/esse/types.d.ts +3 -0
  14. package/dist/js/esse/types.js +2 -0
  15. package/dist/js/esse/utils.d.ts +5 -0
  16. package/dist/js/esse/utils.js +51 -0
  17. package/dist/js/json_include/index.d.ts +22 -0
  18. package/dist/js/json_include/index.js +75 -0
  19. package/dist/js/json_include/settings.d.ts +3 -0
  20. package/dist/js/json_include/settings.js +6 -0
  21. package/dist/js/scripts/compileTs.d.ts +1 -0
  22. package/dist/js/scripts/compileTs.js +80 -0
  23. package/dist/js/scripts/createEnumsFromYaml.d.ts +1 -0
  24. package/dist/js/scripts/createEnumsFromYaml.js +28 -0
  25. package/dist/js/scripts/setSchemaIds.d.ts +5 -0
  26. package/dist/js/scripts/setSchemaIds.js +30 -0
  27. package/dist/js/types.d.ts +80178 -0
  28. package/dist/js/types.js +91 -0
  29. package/dist/js/utils/ajv.d.ts +34 -0
  30. package/dist/js/utils/ajv.js +125 -0
  31. package/dist/js/utils/ajvKeywords/jsonSchemaToTypescriptKeywords.d.ts +7 -0
  32. package/dist/js/utils/ajvKeywords/jsonSchemaToTypescriptKeywords.js +21 -0
  33. package/dist/js/utils/common.d.ts +6 -0
  34. package/dist/js/utils/common.js +14 -0
  35. package/dist/js/utils/filesystem.d.ts +2 -0
  36. package/dist/js/utils/filesystem.js +37 -0
  37. package/dist/js/utils/removeEmptyAndNullProperties.d.ts +9 -0
  38. package/dist/js/utils/removeEmptyAndNullProperties.js +29 -0
  39. package/package.json +3 -2
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ /** Schema dist/js/schema/apse/db/materials_project/2025.9.25/summary.json */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ConvergenceParameterNameEnum = exports.Action = exports.Type = exports.ContextProviderNameEnum = exports.Name = void 0;
5
+ var Name;
6
+ (function (Name) {
7
+ Name["PlanewaveCutoffDataManager"] = "PlanewaveCutoffDataManager";
8
+ Name["KGridFormDataManager"] = "KGridFormDataManager";
9
+ Name["QGridFormDataManager"] = "QGridFormDataManager";
10
+ Name["IGridFormDataManager"] = "IGridFormDataManager";
11
+ Name["QPathFormDataManager"] = "QPathFormDataManager";
12
+ Name["IPathFormDataManager"] = "IPathFormDataManager";
13
+ Name["KPathFormDataManager"] = "KPathFormDataManager";
14
+ Name["ExplicitKPathFormDataManager"] = "ExplicitKPathFormDataManager";
15
+ Name["ExplicitKPath2PIBAFormDataManager"] = "ExplicitKPath2PIBAFormDataManager";
16
+ Name["HubbardJContextManager"] = "HubbardJContextManager";
17
+ Name["HubbardUContextManager"] = "HubbardUContextManager";
18
+ Name["HubbardVContextManager"] = "HubbardVContextManager";
19
+ Name["HubbardContextManagerLegacy"] = "HubbardContextManagerLegacy";
20
+ Name["NEBFormDataManager"] = "NEBFormDataManager";
21
+ Name["BoundaryConditionsFormDataManager"] = "BoundaryConditionsFormDataManager";
22
+ Name["MLSettingsDataManager"] = "MLSettingsDataManager";
23
+ Name["MLTrainTestSplitDataManager"] = "MLTrainTestSplitDataManager";
24
+ Name["IonDynamicsContextProvider"] = "IonDynamicsContextProvider";
25
+ Name["CollinearMagnetizationDataManager"] = "CollinearMagnetizationDataManager";
26
+ Name["NonCollinearMagnetizationDataManager"] = "NonCollinearMagnetizationDataManager";
27
+ Name["QEPWXInputDataManager"] = "QEPWXInputDataManager";
28
+ Name["QENEBInputDataManager"] = "QENEBInputDataManager";
29
+ Name["VASPInputDataManager"] = "VASPInputDataManager";
30
+ Name["VASPNEBInputDataManager"] = "VASPNEBInputDataManager";
31
+ Name["NWChemInputDataManager"] = "NWChemInputDataManager";
32
+ })(Name || (exports.Name = Name = {}));
33
+ /**
34
+ * This interface was referenced by `ContextProvidersDirectoryEnum`'s JSON-Schema
35
+ * via the `definition` "ContextProviderNameEnum".
36
+ */
37
+ var ContextProviderNameEnum;
38
+ (function (ContextProviderNameEnum) {
39
+ ContextProviderNameEnum["PlanewaveCutoffDataManager"] = "PlanewaveCutoffDataManager";
40
+ ContextProviderNameEnum["KGridFormDataManager"] = "KGridFormDataManager";
41
+ ContextProviderNameEnum["QGridFormDataManager"] = "QGridFormDataManager";
42
+ ContextProviderNameEnum["IGridFormDataManager"] = "IGridFormDataManager";
43
+ ContextProviderNameEnum["QPathFormDataManager"] = "QPathFormDataManager";
44
+ ContextProviderNameEnum["IPathFormDataManager"] = "IPathFormDataManager";
45
+ ContextProviderNameEnum["KPathFormDataManager"] = "KPathFormDataManager";
46
+ ContextProviderNameEnum["ExplicitKPathFormDataManager"] = "ExplicitKPathFormDataManager";
47
+ ContextProviderNameEnum["ExplicitKPath2PIBAFormDataManager"] = "ExplicitKPath2PIBAFormDataManager";
48
+ ContextProviderNameEnum["HubbardJContextManager"] = "HubbardJContextManager";
49
+ ContextProviderNameEnum["HubbardUContextManager"] = "HubbardUContextManager";
50
+ ContextProviderNameEnum["HubbardVContextManager"] = "HubbardVContextManager";
51
+ ContextProviderNameEnum["HubbardContextManagerLegacy"] = "HubbardContextManagerLegacy";
52
+ ContextProviderNameEnum["NEBFormDataManager"] = "NEBFormDataManager";
53
+ ContextProviderNameEnum["BoundaryConditionsFormDataManager"] = "BoundaryConditionsFormDataManager";
54
+ ContextProviderNameEnum["MLSettingsDataManager"] = "MLSettingsDataManager";
55
+ ContextProviderNameEnum["MLTrainTestSplitDataManager"] = "MLTrainTestSplitDataManager";
56
+ ContextProviderNameEnum["IonDynamicsContextProvider"] = "IonDynamicsContextProvider";
57
+ ContextProviderNameEnum["CollinearMagnetizationDataManager"] = "CollinearMagnetizationDataManager";
58
+ ContextProviderNameEnum["NonCollinearMagnetizationDataManager"] = "NonCollinearMagnetizationDataManager";
59
+ ContextProviderNameEnum["QEPWXInputDataManager"] = "QEPWXInputDataManager";
60
+ ContextProviderNameEnum["QENEBInputDataManager"] = "QENEBInputDataManager";
61
+ ContextProviderNameEnum["VASPInputDataManager"] = "VASPInputDataManager";
62
+ ContextProviderNameEnum["VASPNEBInputDataManager"] = "VASPNEBInputDataManager";
63
+ ContextProviderNameEnum["NWChemInputDataManager"] = "NWChemInputDataManager";
64
+ })(ContextProviderNameEnum || (exports.ContextProviderNameEnum = ContextProviderNameEnum = {}));
65
+ /**
66
+ * The type of the message to distinguish the direction of the message.
67
+ */
68
+ var Type;
69
+ (function (Type) {
70
+ Type["fromIframeToHost"] = "from-iframe-to-host";
71
+ Type["fromHostToIframe"] = "from-host-to-iframe";
72
+ })(Type || (exports.Type = Type = {}));
73
+ /**
74
+ * The action to be performed upon receiving the message.
75
+ */
76
+ var Action;
77
+ (function (Action) {
78
+ Action["setData"] = "set-data";
79
+ Action["getData"] = "get-data";
80
+ Action["info"] = "info";
81
+ })(Action || (exports.Action = Action = {}));
82
+ /**
83
+ * This interface was referenced by `WorkflowSubworkflowConvergenceEnumOptions`'s JSON-Schema
84
+ * via the `definition` "ConvergenceParameterNameEnum".
85
+ */
86
+ var ConvergenceParameterNameEnum;
87
+ (function (ConvergenceParameterNameEnum) {
88
+ ConvergenceParameterNameEnum["N_k"] = "N_k";
89
+ ConvergenceParameterNameEnum["N_k_nonuniform"] = "N_k_nonuniform";
90
+ ConvergenceParameterNameEnum["N_k_nonuniform_2D"] = "N_k_nonuniform_2D";
91
+ })(ConvergenceParameterNameEnum || (exports.ConvergenceParameterNameEnum = ConvergenceParameterNameEnum = {}));
@@ -0,0 +1,34 @@
1
+ import { SchemaObject } from "ajv";
2
+ import { AnyValidateFunction } from "ajv/dist/core";
3
+ import { AnyObject } from "../esse/types";
4
+ interface AjvInstanceOptions {
5
+ clean: boolean;
6
+ coerceTypes: boolean;
7
+ useDefaults: boolean;
8
+ }
9
+ export declare function getValidator(jsonSchema: SchemaObject, { clean, coerceTypes, useDefaults, }: Omit<AjvInstanceOptions, "useDefaults"> & Partial<Pick<AjvInstanceOptions, "useDefaults">>): AnyValidateFunction;
10
+ /**
11
+ * Validates a given example against the schema.
12
+ * @param example example to validate.
13
+ * @param schema schema to validate the example with.
14
+ * @returns whether example is valid.
15
+ */
16
+ export declare function validate(data: AnyObject, jsonSchema: SchemaObject): {
17
+ isValid: boolean | Promise<any>;
18
+ errors: import("ajv").ErrorObject<string, Record<string, any>, unknown>[] | null | undefined;
19
+ };
20
+ /**
21
+ * Validates and cleans data against the schema.
22
+ * Drops null properties first (empty strings kept for entity placeholders), then AJV removeAdditional.
23
+ * @param data data to validate (mutated in place).
24
+ * @param jsonSchema schema to validate the data with.
25
+ * @returns whether data is valid.
26
+ */
27
+ export declare function validateAndClean(data: AnyObject, jsonSchema: SchemaObject, { coerceTypes, useDefaults }?: {
28
+ coerceTypes?: boolean | undefined;
29
+ useDefaults?: boolean | undefined;
30
+ }): {
31
+ isValid: boolean | Promise<any>;
32
+ errors: import("ajv").ErrorObject<string, Record<string, any>, unknown>[] | null | undefined;
33
+ };
34
+ export { removeEmptyAndNullProperties } from "./removeEmptyAndNullProperties";
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.removeEmptyAndNullProperties = void 0;
7
+ exports.getValidator = getValidator;
8
+ exports.validate = validate;
9
+ exports.validateAndClean = validateAndClean;
10
+ const ajv_1 = __importDefault(require("ajv"));
11
+ const ajv_formats_1 = __importDefault(require("ajv-formats"));
12
+ const schemaUtils_1 = require("../esse/schemaUtils");
13
+ const jsonSchemaToTypescriptKeywords_1 = __importDefault(require("./ajvKeywords/jsonSchemaToTypescriptKeywords"));
14
+ const removeEmptyAndNullProperties_1 = require("./removeEmptyAndNullProperties");
15
+ function addAdditionalPropertiesToSchema(schema, additionalProperties = false) {
16
+ return (0, schemaUtils_1.mapObjectDeep)(schema, (object) => {
17
+ const schema = object;
18
+ if (typeof object === "object" &&
19
+ (schema === null || schema === void 0 ? void 0 : schema.type) === "object" &&
20
+ (schema === null || schema === void 0 ? void 0 : schema.properties) &&
21
+ !("additionalProperties" in schema)) {
22
+ return {
23
+ ...schema,
24
+ additionalProperties,
25
+ unevaluatedProperties: false,
26
+ };
27
+ }
28
+ });
29
+ }
30
+ const ajvConfig = {
31
+ strict: false, // TODO: adjust schemas and enable strict mode
32
+ useDefaults: true,
33
+ /**
34
+ * discriminator fixes default values in oneOf
35
+ * @see https://ajv.js.org/guide/modifying-data.html#assigning-defaults
36
+ */
37
+ discriminator: true,
38
+ };
39
+ const ajvValidator = new ajv_1.default({ ...ajvConfig });
40
+ const ajvValidatorAndCleaner = new ajv_1.default({ ...ajvConfig, removeAdditional: true });
41
+ const ajvValidatorAndCleanerNoDefaults = new ajv_1.default({
42
+ ...ajvConfig,
43
+ removeAdditional: true,
44
+ useDefaults: false,
45
+ });
46
+ const ajvValidatorAndCleanerWithCoercingTypes = new ajv_1.default({
47
+ ...ajvConfig,
48
+ removeAdditional: true,
49
+ coerceTypes: true,
50
+ });
51
+ const ajvValidatorAndCleanerWithCoercingTypesNoDefaults = new ajv_1.default({
52
+ ...ajvConfig,
53
+ removeAdditional: true,
54
+ coerceTypes: true,
55
+ useDefaults: false,
56
+ });
57
+ const ajvInstances = [
58
+ ajvValidator,
59
+ ajvValidatorAndCleaner,
60
+ ajvValidatorAndCleanerNoDefaults,
61
+ ajvValidatorAndCleanerWithCoercingTypes,
62
+ ajvValidatorAndCleanerWithCoercingTypesNoDefaults,
63
+ ];
64
+ ajvInstances.forEach((instance) => {
65
+ (0, ajv_formats_1.default)(instance);
66
+ (0, jsonSchemaToTypescriptKeywords_1.default)(instance);
67
+ });
68
+ function getAjvInstance({ clean, coerceTypes, useDefaults }) {
69
+ if (clean && coerceTypes) {
70
+ return useDefaults
71
+ ? ajvValidatorAndCleanerWithCoercingTypes
72
+ : ajvValidatorAndCleanerWithCoercingTypesNoDefaults;
73
+ }
74
+ if (clean) {
75
+ return useDefaults ? ajvValidatorAndCleaner : ajvValidatorAndCleanerNoDefaults;
76
+ }
77
+ return ajvValidator;
78
+ }
79
+ function getValidator(jsonSchema, { clean, coerceTypes, useDefaults = true, }) {
80
+ const schemaKey = jsonSchema.$id;
81
+ const ajv = getAjvInstance({ clean, coerceTypes, useDefaults });
82
+ let validate = ajv.getSchema(schemaKey);
83
+ if (!validate) {
84
+ // properties that were not defined in schema will be ignored when clean = false
85
+ const patchedSchema = clean ? addAdditionalPropertiesToSchema(jsonSchema) : jsonSchema;
86
+ ajv.addSchema(patchedSchema, schemaKey);
87
+ validate = ajv.getSchema(schemaKey);
88
+ }
89
+ if (!validate) {
90
+ throw new Error("JSONSchemasInterface AJV validator error");
91
+ }
92
+ return validate;
93
+ }
94
+ /**
95
+ * Validates a given example against the schema.
96
+ * @param example example to validate.
97
+ * @param schema schema to validate the example with.
98
+ * @returns whether example is valid.
99
+ */
100
+ function validate(data, jsonSchema) {
101
+ const validator = getValidator(jsonSchema, { clean: false, coerceTypes: false });
102
+ const isValid = validator(data);
103
+ return {
104
+ isValid,
105
+ errors: validator.errors,
106
+ };
107
+ }
108
+ /**
109
+ * Validates and cleans data against the schema.
110
+ * Drops null properties first (empty strings kept for entity placeholders), then AJV removeAdditional.
111
+ * @param data data to validate (mutated in place).
112
+ * @param jsonSchema schema to validate the data with.
113
+ * @returns whether data is valid.
114
+ */
115
+ function validateAndClean(data, jsonSchema, { coerceTypes = false, useDefaults = true } = {}) {
116
+ (0, removeEmptyAndNullProperties_1.removeEmptyAndNullProperties)(data);
117
+ const validator = getValidator(jsonSchema, { clean: true, coerceTypes, useDefaults });
118
+ const isValid = validator(data);
119
+ return {
120
+ isValid,
121
+ errors: validator.errors,
122
+ };
123
+ }
124
+ var removeEmptyAndNullProperties_2 = require("./removeEmptyAndNullProperties");
125
+ Object.defineProperty(exports, "removeEmptyAndNullProperties", { enumerable: true, get: function () { return removeEmptyAndNullProperties_2.removeEmptyAndNullProperties; } });
@@ -0,0 +1,7 @@
1
+ import type Ajv from "ajv";
2
+ /**
3
+ * Schemas include json-schema-to-typescript hints (`tsType`, `tsEnumNames`, …).
4
+ * Ajv strict mode rejects unknown keywords; register them as no-ops so the same schemas work for
5
+ * runtime validation.
6
+ */
7
+ export default function addJsonSchemaToTypescriptKeywords(ajv: Ajv): void;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = addJsonSchemaToTypescriptKeywords;
4
+ /**
5
+ * Schemas include json-schema-to-typescript hints (`tsType`, `tsEnumNames`, …).
6
+ * Ajv strict mode rejects unknown keywords; register them as no-ops so the same schemas work for
7
+ * runtime validation.
8
+ */
9
+ function addJsonSchemaToTypescriptKeywords(ajv) {
10
+ const validateNoop = () => true;
11
+ ajv.addKeyword({
12
+ keyword: "tsType",
13
+ validate: validateNoop,
14
+ errors: false,
15
+ });
16
+ ajv.addKeyword({
17
+ keyword: "tsEnumNames",
18
+ validate: validateNoop,
19
+ errors: false,
20
+ });
21
+ }
@@ -0,0 +1,6 @@
1
+ export declare function isInstanceOf(object: object, type: "Array"): object is object[];
2
+ export declare function isInstanceOf(object: object, type: "Object"): object is object;
3
+ /**
4
+ * Makes sure that text representing arrays is parsed into Arrays.
5
+ */
6
+ export declare function safeParseJSON(string: string): any;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isInstanceOf = isInstanceOf;
4
+ exports.safeParseJSON = safeParseJSON;
5
+ function isInstanceOf(object, type) {
6
+ return Object.prototype.toString.call(object).slice(8, -1) === type;
7
+ }
8
+ /**
9
+ * Makes sure that text representing arrays is parsed into Arrays.
10
+ */
11
+ function safeParseJSON(string) {
12
+ const obj = JSON.parse(string);
13
+ return string[0] === "[" ? Object.keys(obj).map((key) => obj[key]) : obj;
14
+ }
@@ -0,0 +1,2 @@
1
+ export declare function walkDir(dir: string, callback: (itemPath: string) => void | Promise<void>): Promise<void>;
2
+ export declare function walkDirSync(dir: string, callback: (itemPath: string) => void): void;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.walkDir = walkDir;
7
+ exports.walkDirSync = walkDirSync;
8
+ /* eslint-disable no-await-in-loop */
9
+ /* eslint-disable no-restricted-syntax */
10
+ const fs_1 = __importDefault(require("fs"));
11
+ const path_1 = __importDefault(require("path"));
12
+ async function walkDir(dir, callback) {
13
+ const subDirs = await fs_1.default.promises.readdir(dir);
14
+ for (const subDir of subDirs) {
15
+ const itemPath = path_1.default.join(dir, subDir);
16
+ const stat = await fs_1.default.promises.stat(itemPath);
17
+ if (stat.isDirectory()) {
18
+ await walkDir(itemPath, callback);
19
+ }
20
+ else {
21
+ await callback(itemPath);
22
+ }
23
+ }
24
+ }
25
+ function walkDirSync(dir, callback) {
26
+ const subDirs = fs_1.default.readdirSync(dir);
27
+ for (const subDir of subDirs) {
28
+ const itemPath = path_1.default.join(dir, subDir);
29
+ const stat = fs_1.default.statSync(itemPath);
30
+ if (stat.isDirectory()) {
31
+ walkDirSync(itemPath, callback);
32
+ }
33
+ else {
34
+ callback(itemPath);
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,9 @@
1
+ export type AnyObject = Record<string, any>;
2
+ /**
3
+ * Recursively removes null properties from an object.
4
+ * Empty strings are preserved (entity schemas use "" as intentional placeholders, e.g. flowchart links).
5
+ * Nested objects are cleaned in place; array elements are walked but not removed.
6
+ * @param obj The object to clean
7
+ * @returns The cleaned object (mutates the original)
8
+ */
9
+ export declare function removeEmptyAndNullProperties(obj: AnyObject): AnyObject;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeEmptyAndNullProperties = removeEmptyAndNullProperties;
4
+ /**
5
+ * Recursively removes null properties from an object.
6
+ * Empty strings are preserved (entity schemas use "" as intentional placeholders, e.g. flowchart links).
7
+ * Nested objects are cleaned in place; array elements are walked but not removed.
8
+ * @param obj The object to clean
9
+ * @returns The cleaned object (mutates the original)
10
+ */
11
+ function removeEmptyAndNullProperties(obj) {
12
+ if (typeof obj !== "object" || obj === null) {
13
+ return obj;
14
+ }
15
+ if (Array.isArray(obj)) {
16
+ obj.forEach((item) => removeEmptyAndNullProperties(item));
17
+ return obj;
18
+ }
19
+ Object.keys(obj).forEach((key) => {
20
+ const value = obj[key];
21
+ if (value === null) {
22
+ delete obj[key];
23
+ }
24
+ else if (typeof value === "object") {
25
+ removeEmptyAndNullProperties(value);
26
+ }
27
+ });
28
+ return obj;
29
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mat3ra/esse",
3
- "version": "2026.8.18-0",
3
+ "version": "2026.8.18-2",
4
4
  "description": "Mat3ra's Excellent Source of Schemas and Examples (ESSE) for Digital Materials R&D",
5
5
  "scripts": {
6
6
  "transpile": "tsc -p tsconfig-transpile.json",
@@ -13,7 +13,8 @@
13
13
  "lint:fix": "eslint --fix --cache src/js && prettier --write src/js",
14
14
  "prettier": "prettier --check src/js",
15
15
  "prepare": "husky install || exit 0",
16
- "set-schema-ids": "ts-node set_schema_ids.ts"
16
+ "set-schema-ids": "ts-node set_schema_ids.ts",
17
+ "prepublishOnly": "npm run transpile-and-build-assets"
17
18
  },
18
19
  "repository": {
19
20
  "type": "git",