diff --git a/README.md b/README.md index 069ad99..d76e611 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ ecosystem, where `ADe` houses entity definitions for: - `Template` - a jinja template for an application input file The relevant data parameterizing these entities is housed in -the [Application Flavors](https://github.com/Exabyte-io/exabyte-application-flavors) +the [Application Flavors](https://github.com/Exabyte-io/application-flavors) repository. This includes the supported applications, executables, flavors, and defined templates. @@ -66,5 +66,5 @@ Templates themselves are organized by application in a top-level `assets` directory in `application-flavors` and the API for loading and working with templates can be found in each application's `assets.js` module. At build time, all templates are loaded and compiled into a single monolithic -JS file using `build_templates.js` so that it can be used in the client as well as in NodeJS. +TS file using `build_application_trees.ts` so that it can be used in the client as well as in NodeJS. This is how templates are consumed from `applicaton-flavors` in `ADe`. diff --git a/package-lock.json b/package-lock.json index 84476f4..1cafe94 100644 --- a/package-lock.json +++ b/package-lock.json @@ -548,9 +548,9 @@ }, "dependencies": { "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", "dev": true } } @@ -1098,9 +1098,9 @@ } }, "@babel/runtime-corejs2": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.23.4.tgz", - "integrity": "sha512-w10wlnER4ZJ60UlxQWiDhaD1nxHrJ3YgGK2V5iws7a07Q1+vQw4eL54kdtuPIadE3LkeG/Xtg+TEI5zWgjYEjw==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.23.9.tgz", + "integrity": "sha512-lwwDy5QfMkO2rmSz9AvLj6j2kWt5a4ulMi1t21vWQEO0kNCFslHoszat8reU/uigIQSUDF31zraZG/qMkcqAlw==", "dev": true, "requires": { "core-js": "^2.6.12", @@ -1108,9 +1108,9 @@ }, "dependencies": { "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "dev": true } } @@ -1264,9 +1264,8 @@ } }, "@exabyte-io/application-flavors.js": { - "version": "2024.2.27-1", - "resolved": "https://registry.npmjs.org/@exabyte-io/application-flavors.js/-/application-flavors.js-2024.2.27-1.tgz", - "integrity": "sha512-aZ6TCg4x1ImVrC8cqM1TSIEedbwsiMgNhwsDW8KsTwm6O5nzwLb7mCBxsTVWljmdilq769K8XEfcTSEbyWnFVQ==", + "version": "git+https://github.com/Exabyte-io/application-flavors.git#6e9f452a01d7c0ca5aa67c903ee5a66f45301a5f", + "from": "git+https://github.com/Exabyte-io/application-flavors.git#typescript", "dev": true, "requires": { "@babel/cli": "7.16.0", @@ -1278,6 +1277,7 @@ "@babel/register": "7.16.0", "js-yaml": "^4.1.0", "lodash": "^4.17.21", + "typescript": "^5.3.3", "underscore": "^1.12.1", "underscore.string": "^3.3.4" }, @@ -1342,9 +1342,8 @@ } }, "@exabyte-io/code.js": { - "version": "2023.11.22-0", - "resolved": "https://registry.npmjs.org/@exabyte-io/code.js/-/code.js-2023.11.22-0.tgz", - "integrity": "sha512-FKS3gUHimr3QA6V1hOoux1s6fafvjgbfCN9s45Ol6Qa3zdZLkUECJ20r4uGpHvg1ClFpB3BUL+cJU1kwlHjzJg==", + "version": "git+https://github.com/Exabyte-io/code.js.git#0193d663d5876720026777746f256a65c6ccad34", + "from": "git+https://github.com/Exabyte-io/code.js.git#typescript", "dev": true, "requires": { "@babel/cli": "7.16.0", @@ -1355,11 +1354,12 @@ "@babel/preset-react": "7.16.7", "@babel/register": "^7.16.0", "@babel/runtime-corejs3": "7.16.8", - "@exabyte-io/esse.js": "2023.11.22-1", + "@mat3ra/esse": "^2024.1.18-0", "@types/chai": "^4.3.5", "@types/crypto-js": "^4.1.1", "@types/js-yaml": "^4.0.5", "@types/json-schema": "^7.0.12", + "@types/mathjs": "^3.21.1", "@types/mocha": "^10.0.1", "@types/node": "^20.4.2", "@types/react-jsonschema-form": "^1.7.8", @@ -1416,13 +1416,19 @@ } }, "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "requires": { "lru-cache": "^6.0.0" } + }, + "typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true } } }, @@ -1432,22 +1438,25 @@ "integrity": "sha512-BYTDSqvjj6ZiWb8l46T5BKrVfkelct+vK2mh7joHu5UWtJMUzLkb0KQMV1+6SUy4xHFnws33XS7/+JSW1yeZOQ==", "dev": true }, - "@exabyte-io/esse.js": { - "version": "2023.11.22-1", - "resolved": "https://registry.npmjs.org/@exabyte-io/esse.js/-/esse.js-2023.11.22-1.tgz", - "integrity": "sha512-G4D9u+srCZWEoG4o9rXDL9VFT6BR6an4m1RwVOE2KkLKIftCyGxCWrlUAfRHh51ZOcP6LMzg1m4MQwwN8J0OBA==", + "@exabyte-io/made.js": { + "version": "git+https://github.com/Exabyte-io/made.js.git#e5213a1635111b209095191422ed54dcf50427e5", + "from": "git+https://github.com/Exabyte-io/made.js.git#typescript", "dev": true, "requires": { - "@babel/cli": "7.16.0", - "@babel/core": "7.16.0", - "@babel/eslint-parser": "7.16.3", - "@babel/preset-env": "7.16.4", - "@babel/register": "7.16.0", - "ajv": "^4.1.7", - "file": "^0.2.2", - "js-yaml": "^4.1.0", - "json-schema-deref-sync": "0.14.0", - "lodash": "4.17.21" + "@babel/core": "^7.16.0", + "@exabyte-io/periodic-table.js": "2022.5.28-0", + "@types/chai": "^4.3.5", + "@types/mocha": "^10.0.1", + "@types/node": "^20.4.2", + "@types/underscore": "^1.11.6", + "@types/underscore.string": "^0.0.40", + "array-almost-equal": "^1.0.0", + "crypto-js": "^3.1.9-1", + "lodash": "^4.17.4", + "mathjs": "^3.9.0", + "typescript": "^4.5.5", + "underscore": "^1.8.3", + "underscore.string": "^3.3.4" }, "dependencies": { "@babel/register": { @@ -1463,89 +1472,10 @@ "source-map-support": "^0.5.16" } }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", - "dev": true, - "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - } - } - }, - "@exabyte-io/made.js": { - "version": "2022.6.15-0", - "resolved": "https://registry.npmjs.org/@exabyte-io/made.js/-/made.js-2022.6.15-0.tgz", - "integrity": "sha512-pAaexkSt2K0s/U8KKwlE11q++AMgeRqlLUaBehEUc7lCZ96tbmmqUEqM5o3O/BDVUO6vXbbgW52NupEo9txy1g==", - "dev": true, - "requires": { - "@babel/cli": "^7.16.0", - "@babel/core": "^7.16.0", - "@babel/eslint-parser": "^7.16.3", - "@babel/plugin-proposal-class-properties": "^7.16.0", - "@babel/preset-env": "^7.16.4", - "@babel/register": "^7.16.0", - "@exabyte-io/code.js": "2022.6.15-1", - "@exabyte-io/periodic-table.js": "2022.5.5-2", - "array-almost-equal": "^1.0.0", - "crypto-js": "^3.1.9-1", - "lodash": "^4.17.4", - "mathjs": "^3.9.0", - "mixwith": "^0.1.1", - "underscore": "^1.8.3", - "underscore.string": "^3.3.4" - }, - "dependencies": { - "@exabyte-io/code.js": { - "version": "2022.6.15-1", - "resolved": "https://registry.npmjs.org/@exabyte-io/code.js/-/code.js-2022.6.15-1.tgz", - "integrity": "sha512-Meugu4ogq+UOCvkjfpB5l3FyXKPI4AgFkuw1VUFGXaYsJ8KeYVOLFVkNQXlHNBS7KwlJftAMHBHPZyNAMMBc7g==", - "dev": true, - "requires": { - "@babel/cli": "7.16.0", - "@babel/core": "7.16.0", - "@babel/eslint-parser": "7.16.3", - "@babel/plugin-proposal-class-properties": "7.16.0", - "@babel/preset-env": "7.16.4", - "@babel/preset-react": "7.16.7", - "@babel/register": "^7.16.0", - "@babel/runtime-corejs3": "7.16.8", - "crypto-js": "^4.1.1", - "lodash": "^4.17.21", - "mathjs": "^3.9.0", - "mixwith": "^0.1.1", - "underscore": "^1.13.3" - }, - "dependencies": { - "crypto-js": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", - "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==", - "dev": true - } - } - }, "@exabyte-io/periodic-table.js": { - "version": "2022.5.5-2", - "resolved": "https://registry.npmjs.org/@exabyte-io/periodic-table.js/-/periodic-table.js-2022.5.5-2.tgz", - "integrity": "sha512-LhM3TygrhP1qAJHlfjDcpLHS1jFxapLIquB5a1BlgRgn7ew9V8Dvfde2NNT3gQoBL16TmXk4OiwX0ApbEGDnEA==", + "version": "2022.5.28-0", + "resolved": "https://registry.npmjs.org/@exabyte-io/periodic-table.js/-/periodic-table.js-2022.5.28-0.tgz", + "integrity": "sha512-BA+u07dkt4e8yqcBHTv5szXXeMyNFcW0G2Ki3Vbugv6ku6dfl4+Sji8cs5PUr+hkYptc7rTg5r89lfr6Vt+oJw==", "dev": true, "requires": { "@babel/cli": "7.16.0", @@ -1557,19 +1487,6 @@ "underscore": "1.8.3" }, "dependencies": { - "@babel/register": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.16.0.tgz", - "integrity": "sha512-lzl4yfs0zVXnooeLE0AAfYaT7F3SPA8yB2Bj4W1BiZwLbMS3MZH35ZvCWSRHvneUugwuM+Wsnrj7h0F7UmU3NQ==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.0", - "source-map-support": "^0.5.16" - } - }, "underscore": { "version": "1.8.3", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", @@ -1577,6 +1494,12 @@ "dev": true } } + }, + "typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true } } }, @@ -1737,6 +1660,65 @@ "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", "dev": true }, + "@mat3ra/esse": { + "version": "2024.1.18-0", + "resolved": "https://registry.npmjs.org/@mat3ra/esse/-/esse-2024.1.18-0.tgz", + "integrity": "sha512-GqdKXYJS0M5FxmGeo8H1QT7o80lULGvLPm0kmHaw5Q3NWFcb8ZWLAfSuy2T0tIJt6KtwlWKns9axkH2SaNmQ6Q==", + "dev": true, + "requires": { + "@babel/cli": "7.16.0", + "@babel/core": "7.16.0", + "@babel/eslint-parser": "7.16.3", + "@babel/preset-env": "7.16.4", + "@babel/register": "7.16.0", + "ajv": "^4.1.7", + "file": "^0.2.2", + "js-yaml": "^4.1.0", + "json-schema-deref-sync": "0.14.0", + "json-schema-merge-allof": "^0.8.1", + "lodash": "4.17.21" + }, + "dependencies": { + "@babel/register": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.16.0.tgz", + "integrity": "sha512-lzl4yfs0zVXnooeLE0AAfYaT7F3SPA8yB2Bj4W1BiZwLbMS3MZH35ZvCWSRHvneUugwuM+Wsnrj7h0F7UmU3NQ==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.0", + "source-map-support": "^0.5.16" + } + }, + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", + "dev": true, + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + } + } + }, "@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents.3", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", @@ -1774,9 +1756,9 @@ "dev": true }, "@types/crypto-js": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.2.1.tgz", - "integrity": "sha512-FSPGd9+OcSok3RsM0UZ/9fcvMOXJ1ENE/ZbLfOPlBWj7BgXtEAM8VYfTtT760GiLbQIMoVozwVuisjvsVwqYWw==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.2.2.tgz", + "integrity": "sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==", "dev": true }, "@types/glob": { @@ -1813,6 +1795,23 @@ "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==", "dev": true }, + "@types/mathjs": { + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/@types/mathjs/-/mathjs-3.21.1.tgz", + "integrity": "sha512-2q5o+7V6/aJqvaap6jmQPQddIwDh35KFx61SbKfoT8dkchL+AsqtQhrpxo99by0L4uXehZTl4gSyiJMjyA0kRg==", + "dev": true, + "requires": { + "decimal.js": "^10.0.0" + }, + "dependencies": { + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + } + } + }, "@types/minimatch": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", @@ -1826,9 +1825,9 @@ "dev": true }, "@types/node": { - "version": "20.9.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.4.tgz", - "integrity": "sha512-wmyg8HUhcn6ACjsn8oKYjkN/zUzQeNtMy44weTJSM6p4MMzEOuKbA3OjJ267uPCOW7Xex9dyrNTful8XTQYoDA==", + "version": "20.11.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.17.tgz", + "integrity": "sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==", "dev": true, "requires": { "undici-types": "~5.26.4" @@ -1847,9 +1846,9 @@ "dev": true }, "@types/react": { - "version": "18.2.38", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.38.tgz", - "integrity": "sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw==", + "version": "18.2.55", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.55.tgz", + "integrity": "sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==", "dev": true, "requires": { "@types/prop-types": "*", @@ -1858,9 +1857,9 @@ } }, "@types/react-jsonschema-form": { - "version": "1.7.12", - "resolved": "https://registry.npmjs.org/@types/react-jsonschema-form/-/react-jsonschema-form-1.7.12.tgz", - "integrity": "sha512-AueIjMySdH2uI92bBJYVJ/n6Wmrtai+7/ce6Fn4ThrJz5XGG7Jc1c0agktPCYfoiBunEw2hV8oIZdIke3LJIRQ==", + "version": "1.7.13", + "resolved": "https://registry.npmjs.org/@types/react-jsonschema-form/-/react-jsonschema-form-1.7.13.tgz", + "integrity": "sha512-C2jgO7/ow76oCSfUK++jKKox17R0A7ryMYNE5hJ2dR1Ske9jhuvjIlurvzMePh+Xjk8wey0nzB2C7HFKe2pRdg==", "dev": true, "requires": { "@types/json-schema": "*", @@ -1879,6 +1878,15 @@ "integrity": "sha512-HP38xE+GuWGlbSRq9WrZkousaQ7dragtZCruBVMi0oX1migFZavZ3OROKHSkNp/9ouq82zrWtZpg18jFnVN96g==", "dev": true }, + "@types/underscore.string": { + "version": "0.0.40", + "resolved": "https://registry.npmjs.org/@types/underscore.string/-/underscore.string-0.0.40.tgz", + "integrity": "sha512-6J3Wp6PnuXhSxVSVaSoh9SKiormScoa2pPLKpZk5QsjKD3RKQZQj/mwBVfULd2MUl5gM/UlLSvr+cynd/7VWQA==", + "dev": true, + "requires": { + "@types/underscore": "*" + } + }, "@ungap/promise-all-settled": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", @@ -1904,9 +1912,9 @@ "dev": true }, "acorn-walk": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", - "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "dev": true }, "aggregate-error": { @@ -2607,9 +2615,9 @@ "dev": true }, "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true }, "d": { @@ -2687,14 +2695,15 @@ } }, "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.3.tgz", + "integrity": "sha512-h3GBouC+RPtNX2N0hHVLo2ZwPYurq8mLmXpOLTsw71gr7lHt5VaI4vVkDUNOfiWmm48JEXe3VM7PmLX45AMmmg==", "dev": true, "requires": { - "get-intrinsic": "^1.2.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.1" }, "dependencies": { "function-bind": { @@ -2704,16 +2713,26 @@ "dev": true }, "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "requires": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" } + }, + "has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.2" + } } } }, @@ -2798,6 +2817,12 @@ "unbox-primitive": "^1.0.2" } }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, "es-shim-unscopables": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", @@ -3720,11 +3745,12 @@ "dev": true }, "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "requires": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", @@ -3811,9 +3837,9 @@ } }, "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", "dev": true, "requires": { "function-bind": "^1.1.2" @@ -4348,9 +4374,9 @@ } }, "json-schema-to-typescript": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/json-schema-to-typescript/-/json-schema-to-typescript-13.1.1.tgz", - "integrity": "sha512-F3CYhtA7F3yPbb8vF7sFchk/2dnr1/yTKf8RcvoNpjnh67ZS/ZMH1ElLt5KHAtf2/bymiejLQQszszPWEeTdSw==", + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/json-schema-to-typescript/-/json-schema-to-typescript-13.1.2.tgz", + "integrity": "sha512-17G+mjx4nunvOpkPvcz7fdwUwYCEwyH8vR3Ym3rFiQ8uzAL3go+c1306Kk7iGRk8HuXBXqy+JJJmpYl0cvOllw==", "dev": true, "requires": { "@bcherny/json-schema-ref-parser": "10.0.5-fork", @@ -4376,9 +4402,9 @@ "dev": true }, "json-stable-stringify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.0.tgz", - "integrity": "sha512-zfA+5SuwYN2VWqN1/5HZaDzQKLJHaBVMZIIM+wuYjdptkaQsqzDdqjqf+lZZJUuJq1aanHiY8LhH8LmH+qBYJA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", + "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", "dev": true, "requires": { "call-bind": "^1.0.5", @@ -4388,14 +4414,15 @@ }, "dependencies": { "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.6.tgz", + "integrity": "sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg==", "dev": true, "requires": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.3", + "set-function-length": "^1.2.0" } }, "function-bind": { @@ -4405,11 +4432,12 @@ "dev": true }, "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "requires": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", @@ -5864,15 +5892,17 @@ "dev": true }, "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", "dev": true, "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.1" }, "dependencies": { "function-bind": { @@ -5882,16 +5912,26 @@ "dev": true }, "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "requires": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" } + }, + "has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.2" + } } } }, @@ -6281,15 +6321,15 @@ } }, "traverse": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", - "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", + "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", "dev": true }, "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "requires": { "@cspotcode/source-map-support": "^0.8.0", @@ -6308,9 +6348,9 @@ }, "dependencies": { "acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true }, "diff": { @@ -6393,9 +6433,9 @@ } }, "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true }, "uglify-js": { diff --git a/package.json b/package.json index 8f2ba3d..ce63e1f 100644 --- a/package.json +++ b/package.json @@ -44,10 +44,10 @@ "underscore.string": "^3.3.4" }, "devDependencies": { - "@exabyte-io/code.js": "2023.11.22-0", + "@exabyte-io/code.js": "https://github.com/Exabyte-io/code.js.git#typescript", "@exabyte-io/eslint-config": "^2022.11.17-0", - "@exabyte-io/made.js": "2022.6.15-0", - "@exabyte-io/application-flavors.js": "2024.2.27-1", + "@exabyte-io/made.js": "https://github.com/Exabyte-io/made.js.git#typescript", + "@exabyte-io/application-flavors.js": "https://github.com/Exabyte-io/application-flavors.git#typescript", "chai": "^4.3.4", "eslint": "7.32.0", "eslint-config-airbnb": "19.0.2", diff --git a/src/application.js b/src/application.js index 25e9db6..f1ed50b 100644 --- a/src/application.js +++ b/src/application.js @@ -1,4 +1,8 @@ -import { allApplications, getAppData, getAppTree } from "@exabyte-io/application-flavors.js"; +import { + allowedApplications, + getApplicationExecutableFlavorData, + getApplicationVersionBuildData, +} from "@exabyte-io/application-flavors.js"; import { NamedDefaultableInMemoryEntity } from "@exabyte-io/code.js/dist/entity"; import lodash from "lodash"; @@ -37,7 +41,7 @@ export class Application extends NamedDefaultableInMemoryEntity { } getBuilds() { - const data = getAppData(this.prop("name")); + const data = getApplicationVersionBuildData(this.prop("name")); const { versions } = data; const builds = ["Default"]; versions.map((v) => v.build && builds.push(v.build)); @@ -45,14 +49,14 @@ export class Application extends NamedDefaultableInMemoryEntity { } getVersions() { - const data = getAppData(this.prop("name")); + const data = getApplicationVersionBuildData(this.prop("name")); const { versions } = data; const these = versions.map((v) => v.version); return lodash.uniq(these); } static getUniqueAvailableNames() { - return allApplications; + return allowedApplications; } getExecutableByName(name = null) { @@ -95,7 +99,7 @@ export class Application extends NamedDefaultableInMemoryEntity { } get executables() { - const tree = getAppTree(this.prop("name")); + const tree = getApplicationExecutableFlavorData(this.prop("name")); return Object.keys(tree) .filter((key) => { const { supportedApplicationVersions } = tree[key]; diff --git a/src/index.js b/src/index.js index c1d3523..7aa621b 100644 --- a/src/index.js +++ b/src/index.js @@ -1,6 +1,7 @@ import { - allApplications, + allowedApplications, allowedMonitors, + allowedPostProcessors, allowedResults, allTemplates, } from "@exabyte-io/application-flavors.js"; @@ -21,10 +22,11 @@ export { Template, getAllApplications, getApplication, - allApplications, allTemplates, + allowedApplications, allowedResults, allowedMonitors, + allowedPostProcessors, ExecutableContextProvider, ContextProviderRegistry, context, diff --git a/src/tree.js b/src/tree.js index a09bac8..67c4e85 100644 --- a/src/tree.js +++ b/src/tree.js @@ -1,5 +1,9 @@ /* eslint-disable new-cap */ -import { allApplications, getAppData, getAppTree } from "@exabyte-io/application-flavors.js"; +import { + allowedApplications, + getApplicationExecutableFlavorData, + getApplicationVersionBuildData, +} from "@exabyte-io/application-flavors.js"; import { getOneMatchFromObject } from "@exabyte-io/code.js/dist/utils"; /** @@ -10,9 +14,14 @@ import { getOneMatchFromObject } from "@exabyte-io/code.js/dist/utils"; export function getAllApplications(cls = null) { const applicationsTree = {}; const applicationsArray = []; - allApplications.forEach((appName) => { + allowedApplications.forEach((appName) => { applicationsTree[appName] = {}; - const { versions, defaultVersion, build = "Default", ...appData } = getAppData(appName); + const { + versions, + defaultVersion, + build = "Default", + ...appData + } = getApplicationVersionBuildData(appName); applicationsTree[appName].defaultVersion = defaultVersion; versions.forEach((options) => { const { version } = options; @@ -70,7 +79,7 @@ export function getApplicationConfig({ name, version = null, build = "Default" } * @returns {*} */ export function getExecutableConfig({ appName, execName }) { - const appTree = getAppTree(appName); + const appTree = getApplicationExecutableFlavorData(appName); Object.entries(appTree).forEach(([name, exec]) => { exec.name = name; });