diff --git a/package-lock.json b/package-lock.json index 544d7ad..ffee1fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@babel/preset-typescript": "^7.18.6", "@babel/runtime": "^7.18.9", "@fortawesome/fontawesome-free": "^5.15.3", - "@grame/faustwasm": "^0.1.7", + "@grame/faustwasm": "^0.2.0", "@shren/faust-ui": "^1.1.9", "@types/bootstrap": "^4.6.0", "@types/jquery": "^3.5.5", @@ -26,6 +26,7 @@ "@typescript-eslint/parser": "^2.34.0", "babel-loader": "^9.1.0", "bootstrap": "^4.6.0", + "browserfs": "^1.4.3", "clean-webpack-plugin": "^4.0.0", "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.7.3", @@ -48,8 +49,8 @@ "sass-loader": "^13.2.0", "source-map-loader": "^4.0.1", "style-loader": "^3.3.1", - "stylelint": "^13.13.1", - "stylelint-config-recommended": "^5.0.0", + "stylelint": "^16.4.0", + "stylelint-config-recommended": "^14.0.0", "typescript": "^3.9.9", "wav-encoder": "^1.3.0", "wavesurfer.js": "^3.3.3", @@ -1848,6 +1849,92 @@ "node": ">=6.9.0" } }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz", + "integrity": "sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^2.2.4" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz", + "integrity": "sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.9.tgz", + "integrity": "sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.3.tgz", + "integrity": "sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.13" + } + }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", @@ -1857,6 +1944,16 @@ "node": ">=10.0.0" } }, + "node_modules/@dual-bundle/import-meta-resolve": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", + "integrity": "sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/@fortawesome/fontawesome-free": { "version": "5.15.4", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz", @@ -1868,12 +1965,12 @@ } }, "node_modules/@grame/faustwasm": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@grame/faustwasm/-/faustwasm-0.1.7.tgz", - "integrity": "sha512-hYWhKAxJI3aAXPUlRk+YxUHlZRt3mUlvlbFHACIo6hgYTZU4SBExT73ncp9yWOeJCuKLWDPPg02XSDy1ICz+zw==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@grame/faustwasm/-/faustwasm-0.2.0.tgz", + "integrity": "sha512-sikXJsvJK+YnijsorlfXICSic0kBh/Oxvpzi66zdHvK6FGMJXBjhMqg6uimP98HrQ33F79ADHnbdVha8hNp5uA==", "dev": true, "dependencies": { - "@types/emscripten": "^1.39.5" + "@types/emscripten": "^1.39.10" }, "bin": { "faust2sndfile-ts": "scripts/faust2sndfile.js", @@ -2059,35 +2156,6 @@ "integrity": "sha512-Uibph25tpwkwzEo+RnVeOKeXTT75Bq1LqxjUes73ICT1dOTBeVUP6BowZF55nvmyxPGCV4iAn/Ul41dzrBHSgQ==", "dev": true }, - "node_modules/@stylelint/postcss-css-in-js": { - "version": "0.37.3", - "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.3.tgz", - "integrity": "sha512-scLk3cSH1H9KggSniseb2KNAU5D9FWc3H7BxCSAIdtU9OWIyw0zkEZ9qEKHryRM+SExYXRKNb7tOOVNAsQ3iwg==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dev": true, - "dependencies": { - "@babel/core": "^7.17.9" - }, - "peerDependencies": { - "postcss": ">=7.0.0", - "postcss-syntax": ">=0.36.2" - } - }, - "node_modules/@stylelint/postcss-markdown": { - "version": "0.36.2", - "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", - "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", - "deprecated": "Use the original unforked package instead: postcss-markdown", - "dev": true, - "dependencies": { - "remark": "^13.0.0", - "unist-util-find-all-after": "^3.0.2" - }, - "peerDependencies": { - "postcss": ">=7.0.0", - "postcss-syntax": ">=0.36.2" - } - }, "node_modules/@surma/rollup-plugin-off-main-thread": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", @@ -2179,27 +2247,12 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, - "node_modules/@types/mdast": { - "version": "3.0.15", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", - "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", - "dev": true, - "dependencies": { - "@types/unist": "^2" - } - }, "node_modules/@types/minimatch": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true }, - "node_modules/@types/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", - "dev": true - }, "node_modules/@types/node": { "version": "20.12.7", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", @@ -2209,18 +2262,6 @@ "undici-types": "~5.26.4" } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "dev": true - }, "node_modules/@types/qrcode": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/@types/qrcode/-/qrcode-1.5.5.tgz", @@ -2251,12 +2292,6 @@ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", "dev": true }, - "node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", - "dev": true - }, "node_modules/@types/wavesurfer.js": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/@types/wavesurfer.js/-/wavesurfer.js-3.3.2.tgz", @@ -2880,15 +2915,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", @@ -2913,51 +2939,6 @@ "node": ">= 4.0.0" } }, - "node_modules/autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", - "dev": true, - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - }, - "node_modules/autoprefixer/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/autoprefixer/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -3029,16 +3010,6 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -3108,6 +3079,31 @@ "node": ">=8" } }, + "node_modules/browserfs": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/browserfs/-/browserfs-1.4.3.tgz", + "integrity": "sha512-tz8HClVrzTJshcyIu8frE15cjqjcBIu15Bezxsvl/i+6f59iNCN3kznlWjz0FEb3DlnDx3gW5szxeT6D1x0s0w==", + "dev": true, + "dependencies": { + "async": "^2.1.4", + "pako": "^1.0.4" + }, + "bin": { + "make_xhrfs_index": "dist/scripts/make_xhrfs_index.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/browserfs/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, "node_modules/browserslist": { "version": "4.23.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", @@ -3195,23 +3191,6 @@ "node": ">=6" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001611", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001611.tgz", @@ -3246,36 +3225,6 @@ "node": ">=4" } }, - "node_modules/character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", @@ -3409,18 +3358,6 @@ "node": ">=6" } }, - "node_modules/clone-regexp": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", - "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", - "dev": true, - "dependencies": { - "is-regexp": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -3436,6 +3373,12 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -3554,40 +3497,6 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cosmiconfig/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -3622,6 +3531,15 @@ "node": ">=8" } }, + "node_modules/css-functions-list": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz", + "integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==", + "dev": true, + "engines": { + "node": ">=12 || >=16" + } + }, "node_modules/css-loader": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", @@ -3690,6 +3608,19 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -3779,31 +3710,6 @@ "node": ">=0.10.0" } }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -3963,81 +3869,25 @@ "node": ">=6.0.0" } }, - "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dev": true, "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true - }, - "node_modules/ejs": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", - "dev": true, - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" } }, "node_modules/electron-to-chromium": { @@ -4089,11 +3939,14 @@ "node": ">=10.13.0" } }, - "node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } }, "node_modules/envinfo": { "version": "7.12.0", @@ -4654,24 +4507,6 @@ "node": ">=0.8.x" } }, - "node_modules/execall": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", - "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", - "dev": true, - "dependencies": { - "clone-regexp": "^2.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, "node_modules/external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -5101,18 +4936,6 @@ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", "dev": true }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-symbol-description": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", @@ -5252,21 +5075,6 @@ "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", "dev": true }, - "node_modules/gonzales-pe": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", - "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "gonzales": "bin/gonzales.js" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -5285,15 +5093,6 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -5393,34 +5192,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/htmlparser2/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -5513,15 +5284,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/import-local": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", @@ -5623,15 +5385,6 @@ "node": ">=0.8.19" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -5792,30 +5545,6 @@ "node": ">=10.13.0" } }, - "node_modules/is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "dev": true, - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-array-buffer": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", @@ -5878,29 +5607,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -5955,16 +5661,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", @@ -6010,16 +5706,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", @@ -6104,15 +5790,6 @@ "node": ">=6" } }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -6141,15 +5818,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-regexp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", - "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/is-shared-array-buffer": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", @@ -6222,24 +5890,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -6557,9 +6207,9 @@ } }, "node_modules/known-css-properties": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", - "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.30.0.tgz", + "integrity": "sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==", "dev": true }, "node_modules/leven": { @@ -6685,218 +6335,71 @@ "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "yallist": "^3.0.2" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/luvi": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/luvi/-/luvi-5.2.8.tgz", + "integrity": "sha512-rlfsTTK62Y/r3KZye1LvitlOfkMLLUYo4oQm0Z/vRBfLy/0Etyw13DuO9JRv675ZnSeq5WSJhi9JagdKAAvdlw==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "connect": "3.7.0", + "marked": "4.3.0", + "minimist": "1.2.8", + "open": "8.4.0", + "serve-static": "1.15.0" }, - "engines": { - "node": ">=8" + "bin": { + "luvi": "index.js" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=16.0.0" } }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "sourcemap-codec": "^1.4.8" } }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true, - "dependencies": { - "color-name": "~1.1.4" + "bin": { + "marked": "bin/marked.js" }, "engines": { - "node": ">=7.0.0" + "node": ">= 12" } }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", "dev": true }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/longest-streak": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", - "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/luvi": { - "version": "5.2.8", - "resolved": "https://registry.npmjs.org/luvi/-/luvi-5.2.8.tgz", - "integrity": "sha512-rlfsTTK62Y/r3KZye1LvitlOfkMLLUYo4oQm0Z/vRBfLy/0Etyw13DuO9JRv675ZnSeq5WSJhi9JagdKAAvdlw==", - "dev": true, - "dependencies": { - "connect": "3.7.0", - "marked": "4.3.0", - "minimist": "1.2.8", - "open": "8.4.0", - "serve-static": "1.15.0" - }, - "bin": { - "luvi": "index.js" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", - "dev": true, - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/mathml-tag-names": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", - "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", - "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", - "dev": true, - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-string": "^2.0.0", - "micromark": "~2.11.0", - "parse-entities": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", - "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "longest-streak": "^2.0.0", - "mdast-util-to-string": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.0.0", - "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", @@ -6907,103 +6410,17 @@ } }, "node_modules/meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/semver": { - "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, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/meow/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -7019,26 +6436,6 @@ "node": ">= 8" } }, - "node_modules/micromark": { - "version": "2.11.4", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", - "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" - } - }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -7094,15 +6491,6 @@ "node": ">=6" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -7124,20 +6512,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -7262,21 +6636,6 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-selector": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", - "integrity": "sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==", - "dev": true - }, "node_modules/npm-run-all": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", @@ -7302,12 +6661,6 @@ "node": ">= 4" } }, - "node_modules/num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", - "dev": true - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -7561,24 +6914,6 @@ "node": ">=6" } }, - "node_modules/parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "dev": true, - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -7781,60 +7116,6 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-html": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", - "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", - "dev": true, - "dependencies": { - "htmlparser2": "^3.10.0" - }, - "peerDependencies": { - "postcss": ">=5.0.0", - "postcss-syntax": ">=0.36.0" - } - }, - "node_modules/postcss-less": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", - "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">=6.14.4" - } - }, - "node_modules/postcss-less/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-less/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", - "dev": true - }, "node_modules/postcss-modules-extract-imports": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", @@ -7901,106 +7182,29 @@ "dev": true }, "node_modules/postcss-safe-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", - "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", - "dev": true, - "dependencies": { - "postcss": "^7.0.26" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-safe-parser/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-safe-parser/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-sass": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", - "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", - "dev": true, - "dependencies": { - "gonzales-pe": "^4.3.0", - "postcss": "^7.0.21" - } - }, - "node_modules/postcss-sass/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-sass/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-scss": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", - "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-scss/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-scss/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz", + "integrity": "sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==", "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "engines": { - "node": ">=6.0.0" + "node": ">=18.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "peerDependencies": { + "postcss": "^8.4.31" } }, "node_modules/postcss-selector-parser": { @@ -8016,15 +7220,6 @@ "node": ">=4" } }, - "node_modules/postcss-syntax": { - "version": "0.36.2", - "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", - "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", - "dev": true, - "peerDependencies": { - "postcss": ">=5.0.0" - } - }, "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", @@ -8114,15 +7309,6 @@ } ] }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -8155,135 +7341,6 @@ "node": ">=4" } }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/read-pkg/node_modules/path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", @@ -8344,19 +7401,6 @@ "node": ">= 10.13.0" } }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -8458,56 +7502,6 @@ "jsesc": "bin/jsesc" } }, - "node_modules/remark": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", - "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", - "dev": true, - "dependencies": { - "remark-parse": "^9.0.0", - "remark-stringify": "^9.0.0", - "unified": "^9.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", - "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", - "dev": true, - "dependencies": { - "mdast-util-from-markdown": "^0.8.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", - "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", - "dev": true, - "dependencies": { - "mdast-util-to-markdown": "^0.6.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -9248,15 +8242,6 @@ "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", "dev": true }, - "node_modules/specificity": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", - "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", - "dev": true, - "bin": { - "specificity": "bin/specificity" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -9462,18 +8447,6 @@ "node": ">=10" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -9502,72 +8475,57 @@ "webpack": "^5.0.0" } }, - "node_modules/style-search": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", - "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", - "dev": true - }, "node_modules/stylelint": { - "version": "13.13.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.13.1.tgz", - "integrity": "sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==", + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.4.0.tgz", + "integrity": "sha512-uSx7VMuXwLuYcNSIg+0/fFNv0WinsfLAqsVVy7h7p80clKOHiGE8pfY6UjqwylTHiJrRIahTl6a8FPxGezhWoA==", "dev": true, "dependencies": { - "@stylelint/postcss-css-in-js": "^0.37.2", - "@stylelint/postcss-markdown": "^0.36.2", - "autoprefixer": "^9.8.6", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/media-query-list-parser": "^2.1.9", + "@csstools/selector-specificity": "^3.0.3", + "@dual-bundle/import-meta-resolve": "^4.0.0", "balanced-match": "^2.0.0", - "chalk": "^4.1.1", - "cosmiconfig": "^7.0.0", - "debug": "^4.3.1", - "execall": "^2.0.0", - "fast-glob": "^3.2.5", - "fastest-levenshtein": "^1.0.12", - "file-entry-cache": "^6.0.1", - "get-stdin": "^8.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^9.0.0", + "css-functions-list": "^3.2.2", + "css-tree": "^2.3.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^8.0.0", "global-modules": "^2.0.0", - "globby": "^11.0.3", + "globby": "^11.1.0", "globjoin": "^0.1.4", - "html-tags": "^3.1.0", - "ignore": "^5.1.8", - "import-lazy": "^4.0.0", + "html-tags": "^3.3.1", + "ignore": "^5.3.1", "imurmurhash": "^0.1.4", - "known-css-properties": "^0.21.0", - "lodash": "^4.17.21", - "log-symbols": "^4.1.0", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.30.0", "mathml-tag-names": "^2.1.3", - "meow": "^9.0.0", - "micromatch": "^4.0.4", - "normalize-selector": "^0.2.0", - "postcss": "^7.0.35", - "postcss-html": "^0.36.0", - "postcss-less": "^3.1.4", - "postcss-media-query-parser": "^0.2.3", + "meow": "^13.2.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.38", "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^4.0.2", - "postcss-sass": "^0.4.4", - "postcss-scss": "^2.1.1", - "postcss-selector-parser": "^6.0.5", - "postcss-syntax": "^0.36.2", - "postcss-value-parser": "^4.1.0", + "postcss-safe-parser": "^7.0.0", + "postcss-selector-parser": "^6.0.16", + "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", - "slash": "^3.0.0", - "specificity": "^0.4.1", - "string-width": "^4.2.2", - "strip-ansi": "^6.0.0", - "style-search": "^0.1.0", - "sugarss": "^2.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^7.1.0", + "supports-hyperlinks": "^3.0.0", "svg-tags": "^1.0.0", - "table": "^6.6.0", - "v8-compile-cache": "^2.3.0", - "write-file-atomic": "^3.0.3" + "table": "^6.8.2", + "write-file-atomic": "^5.0.1" }, "bin": { - "stylelint": "bin/stylelint.js" + "stylelint": "bin/stylelint.mjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=18.12.0" }, "funding": { "type": "opencollective", @@ -9575,12 +8533,15 @@ } }, "node_modules/stylelint-config-recommended": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-5.0.0.tgz", - "integrity": "sha512-c8aubuARSu5A3vEHLBeOSJt1udOdS+1iue7BmJDTSXoCBmfEQmmWX+59vYIj3NQdJBY6a/QRv1ozVFpaB9jaqA==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.0.tgz", + "integrity": "sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ==", "dev": true, + "engines": { + "node": ">=18.12.0" + }, "peerDependencies": { - "stylelint": "^13.13.0" + "stylelint": "^16.0.0" } }, "node_modules/stylelint/node_modules/ajv": { @@ -9600,12 +8561,15 @@ } }, "node_modules/stylelint/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/stylelint/node_modules/ansi-styles": { @@ -9623,6 +8587,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/stylelint/node_modules/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 + }, "node_modules/stylelint/node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -9647,22 +8617,6 @@ "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", "dev": true }, - "node_modules/stylelint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/stylelint/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -9681,30 +8635,55 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/stylelint/node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/stylelint/node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/stylelint/node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "dependencies": { "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/stylelint/node_modules/flatted": { @@ -9733,15 +8712,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stylelint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/stylelint/node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -9751,33 +8721,49 @@ "node": ">= 4" } }, + "node_modules/stylelint/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stylelint/node_modules/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, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/stylelint/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "node_modules/stylelint/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/stylelint/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/stylelint/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/stylelint/node_modules/resolve-from": { @@ -9789,21 +8775,6 @@ "node": ">=8" } }, - "node_modules/stylelint/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/stylelint/node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -9831,27 +8802,18 @@ } }, "node_modules/stylelint/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" + "node": ">=12" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/stylelint/node_modules/table": { @@ -9870,36 +8832,40 @@ "node": ">=10.0.0" } }, - "node_modules/sugarss": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", - "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==", + "node_modules/stylelint/node_modules/table/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "dependencies": { - "postcss": "^7.0.2" + "engines": { + "node": ">=8" } }, - "node_modules/sugarss/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/sugarss/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/stylelint/node_modules/table/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "engines": { + "node": ">=14.17" } }, "node_modules/supports-color": { @@ -9914,6 +8880,40 @@ "node": ">=4" } }, + "node_modules/supports-hyperlinks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", + "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -10169,25 +9169,6 @@ "punycode": "^2.1.0" } }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -10330,15 +9311,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, "node_modules/typescript": { "version": "3.9.10", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", @@ -10413,33 +9385,6 @@ "node": ">=4" } }, - "node_modules/unified": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", - "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", - "dev": true, - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -10452,42 +9397,6 @@ "node": ">=8" } }, - "node_modules/unist-util-find-all-after": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", - "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", - "dev": true, - "dependencies": { - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", - "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -10586,36 +9495,6 @@ "spdx-expression-parse": "^3.0.0" } }, - "node_modules/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/watchpack": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", @@ -11323,15 +10202,28 @@ } }, "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", "dev": true, "dependencies": { "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/y18n": { @@ -11346,15 +10238,6 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", @@ -11377,15 +10260,6 @@ "node": ">=8" } }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/yargs/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -11471,16 +10345,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zwitch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } } } } diff --git a/package.json b/package.json index 37ef15c..79d24a3 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@babel/preset-typescript": "^7.18.6", "@babel/runtime": "^7.18.9", "@fortawesome/fontawesome-free": "^5.15.3", + "@grame/faustwasm": "^0.2.0", "@shren/faust-ui": "^1.1.9", "@types/bootstrap": "^4.6.0", "@types/jquery": "^3.5.5", @@ -48,6 +49,7 @@ "@typescript-eslint/parser": "^2.34.0", "babel-loader": "^9.1.0", "bootstrap": "^4.6.0", + "browserfs": "^1.4.3", "clean-webpack-plugin": "^4.0.0", "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.7.3", @@ -55,7 +57,6 @@ "eslint": "^6.8.0", "eslint-config-airbnb-base": "^14.2.1", "eslint-plugin-import": "^2.26.0", - "@grame/faustwasm": "^0.1.7", "file-loader": "^6.2.0", "jquery": "^3.6.0", "jszip": "^3.10.0", @@ -71,8 +72,8 @@ "sass-loader": "^13.2.0", "source-map-loader": "^4.0.1", "style-loader": "^3.3.1", - "stylelint": "^13.13.1", - "stylelint-config-recommended": "^5.0.0", + "stylelint": "^16.4.0", + "stylelint-config-recommended": "^14.0.0", "typescript": "^3.9.9", "wav-encoder": "^1.3.0", "wavesurfer.js": "^3.3.3", diff --git a/src/FileManager.ts b/src/FileManager.ts index 1cb0bab..6ecb046 100644 --- a/src/FileManager.ts +++ b/src/FileManager.ts @@ -4,11 +4,11 @@ type TOptions = { container: HTMLDivElement; fs: TFileSystem; path?: string; - $mainFile?: number; + mainFile?: string; selectHandler?: (name: string, content: string, mainCode: string) => any; saveHandler?: (name: string, content: string, mainCode: string) => any; deleteHandler?: (name: string, mainCode: string) => any; - mainFileChangeHandler?: (index: number, mainCode: string) => any; + mainFileChangeHandler?: (name: string, mainCode: string) => any; }; type TFileSystem = { rename: (oldName: string, newName: string) => any; @@ -66,15 +66,14 @@ export class FileManager { */ private _fs: TFileSystem; selectHandler: (name: string, content: string, mainCode: string) => any = () => undefined; - saveHandler: (name: string, content: string, mainCode: string) => any = () => undefined; + saveHandler: (name: string, content: string | Uint8Array, mainCode: string) => any = () => undefined; deleteHandler?: (name: string, mainCode: string) => any = () => undefined; - mainFileChangeHandler?: (index: number, mainCode: string) => any = () => undefined; + mainFileChangeHandler?: (name: string, mainCode: string) => any = () => undefined; constructor(options: TOptions) { this.container = options.container; this.fs = options.fs; this.path = options.path; - this.$mainFile = options.$mainFile; this.selectHandler = options.selectHandler; this.saveHandler = options.saveHandler; this.deleteHandler = options.deleteHandler; @@ -82,9 +81,9 @@ export class FileManager { this.getChildren(); this.getFiles(); this.bind(); - if (options.$mainFile < this._fileList.length) { - this.select(this._fileList[options.$mainFile]); - } + this.$mainFile = Math.max(0, this._fileList.indexOf(options.mainFile)); + this.setMain(this.$mainFile); + this.select(this._fileList[this.$mainFile]); } getChildren() { for (let i = 0; i < this.container.children.length; i++) { @@ -203,11 +202,13 @@ export class FileManager { const file = e.dataTransfer.files[0]; const reader = new FileReader(); reader.onload = () => { - const fileName = this.newFile(file.name, reader.result.toString()); + const content = reader.result instanceof ArrayBuffer ? new Uint8Array(reader.result) : reader.result.toString(); + const fileName = this.newFile(file.name, content); this.select(fileName); }; reader.onerror = () => undefined; - reader.readAsText(file); + if (file.name.match(/\.(wav|mp3|ogg|flac|aac)$/)) reader.readAsArrayBuffer(file); + else reader.readAsText(file); } }; this.container.addEventListener("dragenter", dragenterHandler); @@ -302,6 +303,7 @@ process = ba.pulsen(1, 10000) : pm.djembe(60, 0.3, 0.4, 1) <: dm.freeverb_demo;` */ setMain($: number) { if ($ >= this._fileList.length) return; + if (this._fileList[$].match(/\.(wav|mp3|ogg|flac|aac)$/)) return; this.$mainFile = $; for (let i = 0; i < this.divFiles.children.length; i++) { const e = this.divFiles.children[i]; @@ -311,7 +313,7 @@ process = ba.pulsen(1, 10000) : pm.djembe(60, 0.3, 0.4, 1) <: dm.freeverb_demo;` else btnMain.classList.remove("active"); } } - if (this.mainFileChangeHandler) this.mainFileChangeHandler($, this.mainCode); + if (this.mainFileChangeHandler) this.mainFileChangeHandler(this._fileList[$], this.mainCode); } /** * Get files from Emscripten Virtual File System. @@ -367,7 +369,7 @@ process = ba.pulsen(1, 10000) : pm.djembe(60, 0.3, 0.4, 1) <: dm.freeverb_demo;` renameSelected(newName: string) { this.rename(this.selected, newName); } - newFile(fileNameIn?: string, content?: string) { + newFile(fileNameIn?: string, content?: string | Uint8Array) { let fileName; if (fileNameIn) fileName = fileNameIn.replace(/[^a-zA-Z0-9_.]/g, ""); const extension = fileNameIn ? fileNameIn.split(".").slice(-1) || "lib" : "dsp"; @@ -388,6 +390,7 @@ process = ba.pulsen(1, 10000) : pm.djembe(60, 0.3, 0.4, 1) <: dm.freeverb_demo;` return fileName; } select(fileName: string) { + if (fileName.match(/\.(wav|mp3|ogg|flac|aac)$/)) return; for (let i = 0; i < this.divFiles.children.length; i++) { const divFile = this.divFiles.children[i] as HTMLDivElement; if (divFile.dataset.filename === fileName) divFile.classList.add("selected"); @@ -397,6 +400,7 @@ process = ba.pulsen(1, 10000) : pm.djembe(60, 0.3, 0.4, 1) <: dm.freeverb_demo;` } save(fileName: string, content: string) { if (this.getValue(fileName) === content) return; + this.fs.unlink(this.path + fileName); this.fs.writeFile(this.path + fileName, content); if (this.saveHandler) this.saveHandler(fileName, content, this.mainCode); } @@ -416,7 +420,8 @@ process = ba.pulsen(1, 10000) : pm.djembe(60, 0.3, 0.4, 1) <: dm.freeverb_demo;` } getValue(fileNameIn?: string) { const fileName = fileNameIn || this.selected; - return this.fs.readFile(this.path + fileName, { encoding: "utf8" }); + if (fileNameIn.match(/\.(wav|mp3|ogg|flac|aac)$/)) return this.fs.readFile(this.path + fileName) as Uint8Array; + return this.fs.readFile(this.path + fileName, { encoding: "utf8" }) as string; } get selected() { for (let i = 0; i < this.divFiles.children.length; i++) { @@ -427,7 +432,7 @@ process = ba.pulsen(1, 10000) : pm.djembe(60, 0.3, 0.4, 1) <: dm.freeverb_demo;` } get mainCode() { const fileName = this._fileList[this.$mainFile]; - return fileName ? this.getValue(fileName) || "" : ""; + return fileName ? this.getValue(fileName) as string || "" : ""; } get mainFileName() { return this._fileList[this.$mainFile]; diff --git a/src/index.ts b/src/index.ts index ae430d4..a61b43a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -19,7 +19,9 @@ import webmidi, { Input, WebMidiEventConnected, WebMidiEventDisconnected } from import * as QRCode from "qrcode"; import * as WaveSurfer from "wavesurfer.js"; import * as JSZip from "jszip"; -import { FaustAudioWorkletNode, FaustCompiler, FaustMonoDspGenerator, FaustScriptProcessorNode, FaustSvgDiagrams, LibFaust, instantiateFaustModuleFromFile, FaustPolyDspGenerator } from "@grame/faustwasm"; +import * as BrowserFS from "browserfs"; +import { FSModule } from "browserfs/dist/node/core/FS"; +import { FaustAudioWorkletNode, FaustCompiler, FaustMonoDspGenerator, FaustScriptProcessorNode, FaustSvgDiagrams, LibFaust, instantiateFaustModuleFromFile, FaustPolyDspGenerator, AudioData } from "@grame/faustwasm"; import { Key2Midi } from "./Key2Midi"; import { Scope } from "./Scope"; import "bootstrap/js/dist/dropdown"; @@ -55,6 +57,7 @@ type FaustEditorEnv = { jQuery: JQueryStatic; faustCompiler: FaustCompiler; recorder: Recorder; + browserFS: FSModule; }; type FaustEditorAudioEnv = { audioCtx?: AudioContext; @@ -107,6 +110,19 @@ $(async () => { const faustPrimitiveLibFile = await fetch("primitives.lib"); const faustPrimitiveLib = await faustPrimitiveLibFile.text(); libFaust.fs().writeFile("/usr/share/faust/primitives.lib", faustPrimitiveLib); + const bfs = await new Promise((resolve, reject) => BrowserFS.configure({ + fs: "IndexedDB", + options: { storeName: "FaustIDE" } + }, (e) => { + if (e) { + reject(e); + } else { + resolve(BrowserFS.BFSRequire("fs")); + // libFaust.fs().mkdir(PROJECT_DIR); + // libFaust.fs().mount(fs, { root: "/" }, PROJECT_DIR); + // resolve(bfs); + } + })); // TODO(ijc): This previously set `window.faust`; what depends on that being set? window.faustCompiler = faustCompiler; /** @@ -171,24 +187,54 @@ $(async () => { * Load all files to Emscripten File System from localStorage * */ - const loadProject = () => { - libFaust.fs().mkdir(PROJECT_DIR); - let project: { [name: string]: string }; - try { - project = JSON.parse(safeStorage.getItem("faust_editor_project")) || {}; - } catch (e) { - project = {}; - } - for (const fileName in project) { - libFaust.fs().writeFile(PROJECT_DIR + fileName, project[fileName]); + const loadProject = async () => { + const mfs = libFaust.fs(); + mfs.mkdir(PROJECT_DIR); + let files = await new Promise((resolve, reject) => bfs.readdir("/", (err, data) => { + if (err) reject(err); + else resolve(data); + })); + files = files.filter(n => n !== "." && n !== ".."); + if (!compileOptions.saveCode) { + await Promise.all(files.map(async (filename) => { + await new Promise((resolve, reject) => bfs.unlink(filename, (err) => { + if (err) reject(err); + else resolve(); + })); + })); + } else { + await Promise.all(files.map(async (filename) => { + const data = await new Promise((resolve, reject) => bfs.readFile(filename, (err, data) => { + if (err) reject(err); + else resolve(data); + })); + mfs.writeFile(PROJECT_DIR + filename, new Uint8Array(data.buffer)); + })); } }; + const loadSoundfiles = async (audioCtx: BaseAudioContext): Promise> => { + const map = {} as Record; + const files = libFaust.fs().readdir(PROJECT_DIR) as string[]; + await Promise.all(files.filter(n => n.match(/\.(wav|mp3|ogg|flac|aac)$/)).map(async (filename) => { + const ui8Array = libFaust.fs().readFile(PROJECT_DIR + filename); + try { + const audioBuffer = await audioCtx.decodeAudioData(ui8Array.buffer); + map[filename] = { audioBuffer: new Array(audioBuffer.numberOfChannels).fill(0).map((v, i) => audioBuffer.getChannelData(i)), sampleRate: audioBuffer.sampleRate } as AudioData; + } catch (error) { + return false; + } + return true; + })); + return map; + }; /** * To show Error at bottom of center * * @param {string} e */ const showError = (e: Error | string) => { + // eslint-disable-next-line no-console + console.error(e); $(".alert-faust-code>span").text(e instanceof Error ? e.message : e); $("#alert-faust-code").css("visibility", "visible"); }; @@ -286,14 +332,17 @@ $(async () => { if (mediaLengthRaf) cancelAnimationFrame(mediaLengthRaf); mediaLengthRaf = requestAnimationFrame(() => mediaLengthDisplay(t)); }; + const soundfiles = await loadSoundfiles(audioCtx); try { // const getDiagramResult = getDiagram(code); // if (!getDiagramResult.success) throw getDiagramResult.error; if (voices) { const factory = await new FaustPolyDspGenerator().compile(faustCompiler, "main", code, args.join(" ")); + factory.voiceFactory.soundfiles = soundfiles; node = await factory.createNode(audioCtx, voices, "main", undefined, undefined, undefined, !useWorklet, bufferSize); } else { const factory = await new FaustMonoDspGenerator().compile(faustCompiler, "main", code, args.join(" ")); + factory.factory.soundfiles = soundfiles; node = await factory.createNode(audioCtx, "main", undefined, !useWorklet, bufferSize); } node.setPlotHandler(plotHandler); @@ -483,20 +532,22 @@ $(async () => { jQuery, editor, faustCompiler, - recorder: new Recorder() + recorder: new Recorder(), + browserFS: bfs }; safeStorage.setItem("faust_editor_version", VERSION); uiEnv.plotScope = new StaticScope({ container: $("#plot-ui")[0] }); uiEnv.analyser.drawHandler = uiEnv.plotScope.draw; uiEnv.analyser.getSampleRate = () => (compileOptions.plotMode === "offline" ? compileOptions.plotSR : audioEnv.audioCtx.sampleRate); - if (compileOptions.saveCode) loadProject(); else libFaust.fs().mkdir(PROJECT_DIR); + await loadProject(); uiEnv.fileManager = new FileManager({ container: $("#filemanager")[0], fs: libFaust.fs(), path: PROJECT_DIR, - $mainFile: compileOptions.mainFileIndex || 0, + mainFile: compileOptions.mainFile, selectHandler: (fileName, content) => editor.setValue(content), - saveHandler: (fileName: string, content: string, mainCode: string) => { + saveHandler: async (fileName: string, content: string, mainCode: string) => { + /* let project: { [name: string]: string }; try { project = JSON.parse(safeStorage.getItem("faust_editor_project")) || {}; @@ -505,25 +556,51 @@ $(async () => { } project[fileName] = content; try { - safeStorage.setItem("faust_editor_project", JSON.stringify(project)); + // safeStorage.setItem("faust_editor_project", JSON.stringify(project)); + } catch (e) { + showError(e); + } + */ + try { + const exist = await new Promise((resolve, reject) => bfs.exists(fileName, resolve)); + if (exist) { + await new Promise((resolve, reject) => bfs.unlink(fileName, (e) => { + if (e) reject(e); + else resolve(); + })); + } + await new Promise((resolve, reject) => bfs.writeFile(fileName, content, { encoding: "utf8" }, (e) => { + if (e) reject(e); + else resolve(); + })); } catch (e) { showError(e); } clearTimeout(rtCompileTimer); if (compileOptions.realtimeCompile) rtCompileTimer = setTimeout(audioEnv.dsp ? runDsp : updateDiagram, 1000, mainCode); }, - deleteHandler: (fileName) => { + deleteHandler: async (fileName) => { + /* let project: { [name: string]: string }; try { - project = JSON.parse(safeStorage.getItem("faust_editor_project")) || {}; + // project = JSON.parse(safeStorage.getItem("faust_editor_project")) || {}; } catch (e) { return; } delete project[fileName]; safeStorage.setItem("faust_editor_project", JSON.stringify(project)); + */ + try { + await new Promise((resolve, reject) => bfs.unlink(fileName, (e) => { + if (e) reject(e); + else resolve(); + })); + } catch (e) { + showError(e); + } }, - mainFileChangeHandler: (index, mainCode) => { - compileOptions.mainFileIndex = index; + mainFileChangeHandler: (filename, mainCode) => { + compileOptions.mainFile = filename; saveEditorParams(); clearTimeout(rtCompileTimer); if (compileOptions.realtimeCompile) rtCompileTimer = setTimeout(audioEnv.dsp ? runDsp : updateDiagram, 100, mainCode); @@ -651,8 +728,10 @@ $(async () => { if (compileOptions.plotMode === "offline") { const code = uiEnv.fileManager.mainCode; const { args, plot, plotSR } = compileOptions; + const soundfiles = await loadSoundfiles(new OfflineAudioContext({ sampleRate: plotSR, length: 0 })); const generator = new FaustMonoDspGenerator(); await generator.compile(faustCompiler, "main", code, args.join(" ")); + generator.factory.soundfiles = soundfiles; const processor = await generator.createOfflineProcessor(plotSR, 128); const output = processor.render([], plot); uiEnv.analyser.plotHandler(output, 0, undefined, true); diff --git a/src/static/examples.json b/src/static/examples.json index 38912fd..c60a4a6 100644 --- a/src/static/examples.json +++ b/src/static/examples.json @@ -1 +1 @@ -{"path":"./src/static/examples","name":"examples","children":[{"path":"examples/LIBRARIES","name":"LIBRARIES","children":[{"path":"examples/LIBRARIES/aanl.lib","name":"aanl.lib","size":27753,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/all.lib","name":"all.lib","size":1016,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/analyzers.lib","name":"analyzers.lib","size":37512,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/basics.lib","name":"basics.lib","size":60106,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/compressors.lib","name":"compressors.lib","size":64754,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/delays.lib","name":"delays.lib","size":15122,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/demos.lib","name":"demos.lib","size":65185,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/dx7.lib","name":"dx7.lib","size":69103,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/envelopes.lib","name":"envelopes.lib","size":12032,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/fds.lib","name":"fds.lib","size":20559,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/filters.lib","name":"filters.lib","size":115548,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/hoa.lib","name":"hoa.lib","size":42799,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/instruments.lib","name":"instruments.lib","size":9395,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/interpolators.lib","name":"interpolators.lib","size":23955,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/maths.lib","name":"maths.lib","size":21483,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/maxmsp.lib","name":"maxmsp.lib","size":8174,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/mi.lib","name":"mi.lib","size":17280,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/misceffects.lib","name":"misceffects.lib","size":21753,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/noises.lib","name":"noises.lib","size":16086,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/oscillators.lib","name":"oscillators.lib","size":53381,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/phaflangers.lib","name":"phaflangers.lib","size":10024,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/physmodels.lib","name":"physmodels.lib","size":171348,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/platform.lib","name":"platform.lib","size":3131,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/quantizers.lib","name":"quantizers.lib","size":9855,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/reducemaps.lib","name":"reducemaps.lib","size":4836,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/reverbs.lib","name":"reverbs.lib","size":37506,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/routes.lib","name":"routes.lib","size":8565,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/sf.lib","name":"sf.lib","size":1066,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/signals.lib","name":"signals.lib","size":16416,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/soundfiles.lib","name":"soundfiles.lib","size":9361,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/spats.lib","name":"spats.lib","size":5193,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/stdfaust.lib","name":"stdfaust.lib","size":1270,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/synths.lib","name":"synths.lib","size":11395,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/tonestacks.lib","name":"tonestacks.lib","size":12354,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/tubes.lib","name":"tubes.lib","size":349789,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/vaeffects.lib","name":"vaeffects.lib","size":35897,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/version.lib","name":"version.lib","size":910,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/wdmodels.lib","name":"wdmodels.lib","size":89953,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/webaudio.lib","name":"webaudio.lib","size":12119,"extension":".lib","type":"file"}],"size":1493984,"type":"directory"},{"path":"examples/ambisonics","name":"ambisonics","children":[{"path":"examples/ambisonics/fourSourcesToOcto.dsp","name":"fourSourcesToOcto.dsp","size":981,"extension":".dsp","type":"file"},{"path":"examples/ambisonics/oneSourceToStereo.dsp","name":"oneSourceToStereo.dsp","size":404,"extension":".dsp","type":"file"}],"size":1385,"type":"directory"},{"path":"examples/analysis","name":"analysis","children":[{"path":"examples/analysis/FFT.dsp","name":"FFT.dsp","size":874,"extension":".dsp","type":"file"},{"path":"examples/analysis/dbmeter.dsp","name":"dbmeter.dsp","size":628,"extension":".dsp","type":"file"},{"path":"examples/analysis/spectralLevel.dsp","name":"spectralLevel.dsp","size":233,"extension":".dsp","type":"file"},{"path":"examples/analysis/spectralTiltLab.dsp","name":"spectralTiltLab.dsp","size":668,"extension":".dsp","type":"file"},{"path":"examples/analysis/vumeter.dsp","name":"vumeter.dsp","size":545,"extension":".dsp","type":"file"}],"size":2948,"type":"directory"},{"path":"examples/bela","name":"bela","children":[{"path":"examples/bela/AdditiveSynth.dsp","name":"AdditiveSynth.dsp","size":1462,"extension":".dsp","type":"file"},{"path":"examples/bela/AdditiveSynth_Analog.dsp","name":"AdditiveSynth_Analog.dsp","size":1525,"extension":".dsp","type":"file"},{"path":"examples/bela/FMSynth2.dsp","name":"FMSynth2.dsp","size":1956,"extension":".dsp","type":"file"},{"path":"examples/bela/FMSynth2_Analog.dsp","name":"FMSynth2_Analog.dsp","size":1873,"extension":".dsp","type":"file"},{"path":"examples/bela/FMSynth2_FX.dsp","name":"FMSynth2_FX.dsp","size":4569,"extension":".dsp","type":"file"},{"path":"examples/bela/FMSynth2_FX_Analog.dsp","name":"FMSynth2_FX_Analog.dsp","size":4683,"extension":".dsp","type":"file"},{"path":"examples/bela/FXChaine2.dsp","name":"FXChaine2.dsp","size":5513,"extension":".dsp","type":"file"},{"path":"examples/bela/Faust-complement.lib","name":"Faust-complement.lib","size":2032,"extension":".lib","type":"file"},{"path":"examples/bela/GrainGenerator.dsp","name":"GrainGenerator.dsp","size":3631,"extension":".dsp","type":"file"},{"path":"examples/bela/WaveSynth.dsp","name":"WaveSynth.dsp","size":2230,"extension":".dsp","type":"file"},{"path":"examples/bela/WaveSynth_Analog.dsp","name":"WaveSynth_Analog.dsp","size":2345,"extension":".dsp","type":"file"},{"path":"examples/bela/WaveSynth_FX.dsp","name":"WaveSynth_FX.dsp","size":4895,"extension":".dsp","type":"file"},{"path":"examples/bela/WaveSynth_FX_Analog.dsp","name":"WaveSynth_FX_Analog.dsp","size":5084,"extension":".dsp","type":"file"},{"path":"examples/bela/crossDelay2.dsp","name":"crossDelay2.dsp","size":2314,"extension":".dsp","type":"file"},{"path":"examples/bela/granulator.dsp","name":"granulator.dsp","size":2429,"extension":".dsp","type":"file"},{"path":"examples/bela/repeater.dsp","name":"repeater.dsp","size":2315,"extension":".dsp","type":"file"},{"path":"examples/bela/simpleFX.dsp","name":"simpleFX.dsp","size":2434,"extension":".dsp","type":"file"},{"path":"examples/bela/simpleFX_Analog.dsp","name":"simpleFX_Analog.dsp","size":2582,"extension":".dsp","type":"file"},{"path":"examples/bela/simpleSynth.dsp","name":"simpleSynth.dsp","size":2562,"extension":".dsp","type":"file"},{"path":"examples/bela/simpleSynth_Analog.dsp","name":"simpleSynth_Analog.dsp","size":2596,"extension":".dsp","type":"file"},{"path":"examples/bela/simpleSynth_FX.dsp","name":"simpleSynth_FX.dsp","size":5153,"extension":".dsp","type":"file"},{"path":"examples/bela/simpleSynth_FX_Analog.dsp","name":"simpleSynth_FX_Analog.dsp","size":5350,"extension":".dsp","type":"file"}],"size":69533,"type":"directory"},{"path":"examples/delayEcho","name":"delayEcho","children":[{"path":"examples/delayEcho/echo.dsp","name":"echo.dsp","size":462,"extension":".dsp","type":"file"},{"path":"examples/delayEcho/quadEcho.dsp","name":"quadEcho.dsp","size":561,"extension":".dsp","type":"file"},{"path":"examples/delayEcho/smoothDelay.dsp","name":"smoothDelay.dsp","size":825,"extension":".dsp","type":"file"},{"path":"examples/delayEcho/stereoEcho.dsp","name":"stereoEcho.dsp","size":491,"extension":".dsp","type":"file"},{"path":"examples/delayEcho/tapiir.dsp","name":"tapiir.dsp","size":1263,"extension":".dsp","type":"file"}],"size":3602,"type":"directory"},{"path":"examples/dynamic","name":"dynamic","children":[{"path":"examples/dynamic/compressor.dsp","name":"compressor.dsp","size":194,"extension":".dsp","type":"file"},{"path":"examples/dynamic/distortion.dsp","name":"distortion.dsp","size":192,"extension":".dsp","type":"file"},{"path":"examples/dynamic/gateCompressor.dsp","name":"gateCompressor.dsp","size":333,"extension":".dsp","type":"file"},{"path":"examples/dynamic/noiseGate.dsp","name":"noiseGate.dsp","size":182,"extension":".dsp","type":"file"},{"path":"examples/dynamic/volume.dsp","name":"volume.dsp","size":376,"extension":".dsp","type":"file"}],"size":1277,"type":"directory"},{"path":"examples/filtering","name":"filtering","children":[{"path":"examples/filtering/APF.dsp","name":"APF.dsp","size":337,"extension":".dsp","type":"file"},{"path":"examples/filtering/BPF.dsp","name":"BPF.dsp","size":337,"extension":".dsp","type":"file"},{"path":"examples/filtering/DNN.dsp","name":"DNN.dsp","size":806,"extension":".dsp","type":"file"},{"path":"examples/filtering/HPF.dsp","name":"HPF.dsp","size":337,"extension":".dsp","type":"file"},{"path":"examples/filtering/LPF.dsp","name":"LPF.dsp","size":337,"extension":".dsp","type":"file"},{"path":"examples/filtering/bandFilter.dsp","name":"bandFilter.dsp","size":1314,"extension":".dsp","type":"file"},{"path":"examples/filtering/cryBaby.dsp","name":"cryBaby.dsp","size":156,"extension":".dsp","type":"file"},{"path":"examples/filtering/diodeLadder.dsp","name":"diodeLadder.dsp","size":381,"extension":".dsp","type":"file"},{"path":"examples/filtering/filterBank.dsp","name":"filterBank.dsp","size":177,"extension":".dsp","type":"file"},{"path":"examples/filtering/graphicEqLab.dsp","name":"graphicEqLab.dsp","size":354,"extension":".dsp","type":"file"},{"path":"examples/filtering/highShelf.dsp","name":"highShelf.dsp","size":349,"extension":".dsp","type":"file"},{"path":"examples/filtering/korg35HPF.dsp","name":"korg35HPF.dsp","size":379,"extension":".dsp","type":"file"},{"path":"examples/filtering/korg35LPF.dsp","name":"korg35LPF.dsp","size":379,"extension":".dsp","type":"file"},{"path":"examples/filtering/lfBoost.dsp","name":"lfBoost.dsp","size":1348,"extension":".dsp","type":"file"},{"path":"examples/filtering/lowBoost.dsp","name":"lowBoost.dsp","size":1478,"extension":".dsp","type":"file"},{"path":"examples/filtering/lowCut.dsp","name":"lowCut.dsp","size":1453,"extension":".dsp","type":"file"},{"path":"examples/filtering/lowShelf.dsp","name":"lowShelf.dsp","size":347,"extension":".dsp","type":"file"},{"path":"examples/filtering/moogHalfLadder.dsp","name":"moogHalfLadder.dsp","size":390,"extension":".dsp","type":"file"},{"path":"examples/filtering/moogLadder.dsp","name":"moogLadder.dsp","size":378,"extension":".dsp","type":"file"},{"path":"examples/filtering/moogVCF.dsp","name":"moogVCF.dsp","size":153,"extension":".dsp","type":"file"},{"path":"examples/filtering/multibandFilter.dsp","name":"multibandFilter.dsp","size":561,"extension":".dsp","type":"file"},{"path":"examples/filtering/notch.dsp","name":"notch.dsp","size":341,"extension":".dsp","type":"file"},{"path":"examples/filtering/oberheim.dsp","name":"oberheim.dsp","size":457,"extension":".dsp","type":"file"},{"path":"examples/filtering/oberheimBPF.dsp","name":"oberheimBPF.dsp","size":397,"extension":".dsp","type":"file"},{"path":"examples/filtering/oberheimBSF.dsp","name":"oberheimBSF.dsp","size":397,"extension":".dsp","type":"file"},{"path":"examples/filtering/oberheimHPF.dsp","name":"oberheimHPF.dsp","size":397,"extension":".dsp","type":"file"},{"path":"examples/filtering/oberheimLPF.dsp","name":"oberheimLPF.dsp","size":396,"extension":".dsp","type":"file"},{"path":"examples/filtering/parametricEqLab.dsp","name":"parametricEqLab.dsp","size":437,"extension":".dsp","type":"file"},{"path":"examples/filtering/parametricEqualizer.dsp","name":"parametricEqualizer.dsp","size":185,"extension":".dsp","type":"file"},{"path":"examples/filtering/peakNotch.dsp","name":"peakNotch.dsp","size":350,"extension":".dsp","type":"file"},{"path":"examples/filtering/peakingEQ.dsp","name":"peakingEQ.dsp","size":349,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKey2ndOrder.dsp","name":"sallenKey2ndOrder.dsp","size":481,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKey2ndOrderBPF.dsp","name":"sallenKey2ndOrderBPF.dsp","size":430,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKey2ndOrderHPF.dsp","name":"sallenKey2ndOrderHPF.dsp","size":429,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKey2ndOrderLPF.dsp","name":"sallenKey2ndOrderLPF.dsp","size":429,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKeyOnePole.dsp","name":"sallenKeyOnePole.dsp","size":444,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKeyOnePoleHPF.dsp","name":"sallenKeyOnePoleHPF.dsp","size":390,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKeyOnePoleLPF.dsp","name":"sallenKeyOnePoleLPF.dsp","size":389,"extension":".dsp","type":"file"},{"path":"examples/filtering/spectralTilt.dsp","name":"spectralTilt.dsp","size":191,"extension":".dsp","type":"file"},{"path":"examples/filtering/vcfWahLab.dsp","name":"vcfWahLab.dsp","size":504,"extension":".dsp","type":"file"},{"path":"examples/filtering/vocoder.dsp","name":"vocoder.dsp","size":226,"extension":".dsp","type":"file"},{"path":"examples/filtering/wahPedal.dsp","name":"wahPedal.dsp","size":163,"extension":".dsp","type":"file"}],"size":19533,"type":"directory"},{"path":"examples/gameaudio","name":"gameaudio","children":[{"path":"examples/gameaudio/bubble.dsp","name":"bubble.dsp","size":1037,"extension":".dsp","type":"file"},{"path":"examples/gameaudio/door.dsp","name":"door.dsp","size":1892,"extension":".dsp","type":"file"},{"path":"examples/gameaudio/fire.dsp","name":"fire.dsp","size":1312,"extension":".dsp","type":"file"},{"path":"examples/gameaudio/insects.dsp","name":"insects.dsp","size":4953,"extension":".dsp","type":"file"},{"path":"examples/gameaudio/rain.dsp","name":"rain.dsp","size":622,"extension":".dsp","type":"file"},{"path":"examples/gameaudio/wind.dsp","name":"wind.dsp","size":551,"extension":".dsp","type":"file"}],"size":10367,"type":"directory"},{"path":"examples/generator","name":"generator","children":[{"path":"examples/generator/filterOsc.dsp","name":"filterOsc.dsp","size":213,"extension":".dsp","type":"file"},{"path":"examples/generator/noise.dsp","name":"noise.dsp","size":1813,"extension":".dsp","type":"file"},{"path":"examples/generator/noiseMetadata.dsp","name":"noiseMetadata.dsp","size":2356,"extension":".dsp","type":"file"},{"path":"examples/generator/osc.dsp","name":"osc.dsp","size":471,"extension":".dsp","type":"file"},{"path":"examples/generator/osci.dsp","name":"osci.dsp","size":505,"extension":".dsp","type":"file"},{"path":"examples/generator/sawtoothLab.dsp","name":"sawtoothLab.dsp","size":239,"extension":".dsp","type":"file"},{"path":"examples/generator/virtualAnalog.dsp","name":"virtualAnalog.dsp","size":228,"extension":".dsp","type":"file"},{"path":"examples/generator/virtualAnalogLab.dsp","name":"virtualAnalogLab.dsp","size":268,"extension":".dsp","type":"file"}],"size":6093,"type":"directory"},{"path":"examples/misc","name":"misc","children":[{"path":"examples/misc/UITester.dsp","name":"UITester.dsp","size":2158,"extension":".dsp","type":"file"},{"path":"examples/misc/autopan.dsp","name":"autopan.dsp","size":2292,"extension":".dsp","type":"file"},{"path":"examples/misc/capture.dsp","name":"capture.dsp","size":802,"extension":".dsp","type":"file"},{"path":"examples/misc/drumkit.dsp","name":"drumkit.dsp","size":1307,"extension":".dsp","type":"file"},{"path":"examples/misc/guitarix.dsp","name":"guitarix.dsp","size":8986,"extension":".dsp","type":"file"},{"path":"examples/misc/matrix.dsp","name":"matrix.dsp","size":551,"extension":".dsp","type":"file"},{"path":"examples/misc/midiTester.dsp","name":"midiTester.dsp","size":7986,"extension":".dsp","type":"file"},{"path":"examples/misc/mixer.dsp","name":"mixer.dsp","size":667,"extension":".dsp","type":"file"},{"path":"examples/misc/statespace.dsp","name":"statespace.dsp","size":1356,"extension":".dsp","type":"file"},{"path":"examples/misc/switcher.dsp","name":"switcher.dsp","size":564,"extension":".dsp","type":"file"},{"path":"examples/misc/tester.dsp","name":"tester.dsp","size":1082,"extension":".dsp","type":"file"},{"path":"examples/misc/tester2.dsp","name":"tester2.dsp","size":1189,"extension":".dsp","type":"file"}],"size":28940,"type":"directory"},{"path":"examples/phasing","name":"phasing","children":[{"path":"examples/phasing/flanger.dsp","name":"flanger.dsp","size":188,"extension":".dsp","type":"file"},{"path":"examples/phasing/phaser.dsp","name":"phaser.dsp","size":184,"extension":".dsp","type":"file"},{"path":"examples/phasing/phaserFlangerLab.dsp","name":"phaserFlangerLab.dsp","size":395,"extension":".dsp","type":"file"}],"size":767,"type":"directory"},{"path":"examples/physicalModeling","name":"physicalModeling","children":[{"path":"examples/physicalModeling/brass.dsp","name":"brass.dsp","size":263,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/brassMIDI.dsp","name":"brassMIDI.dsp","size":290,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/churchBell.dsp","name":"churchBell.dsp","size":244,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/clarinet.dsp","name":"clarinet.dsp","size":261,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/clarinetMIDI.dsp","name":"clarinetMIDI.dsp","size":288,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/djembeMIDI.dsp","name":"djembeMIDI.dsp","size":257,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/elecGuitarMIDI.dsp","name":"elecGuitarMIDI.dsp","size":330,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/englishBell.dsp","name":"englishBell.dsp","size":252,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk","name":"faust-stk","children":[{"path":"examples/physicalModeling/faust-stk/NLFeks.dsp","name":"NLFeks.dsp","size":3140,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/NLFfm.dsp","name":"NLFfm.dsp","size":3849,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/blowBottle.dsp","name":"blowBottle.dsp","size":5036,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/bowed.dsp","name":"bowed.dsp","size":5791,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/brass.dsp","name":"brass.dsp","size":5421,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/clarinet.dsp","name":"clarinet.dsp","size":5439,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/flute.dsp","name":"flute.dsp","size":5763,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/fluteStk.dsp","name":"fluteStk.dsp","size":6147,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/glassHarmonica.dsp","name":"glassHarmonica.dsp","size":5550,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/saxophony.dsp","name":"saxophony.dsp","size":6161,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/sitar.dsp","name":"sitar.dsp","size":1747,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/tibetanBowl.dsp","name":"tibetanBowl.dsp","size":6118,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/tunedBar.dsp","name":"tunedBar.dsp","size":5350,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/uniBar.dsp","name":"uniBar.dsp","size":3872,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/voiceForm.dsp","name":"voiceForm.dsp","size":5988,"extension":".dsp","type":"file"}],"size":75372,"type":"directory"},{"path":"examples/physicalModeling/flute.dsp","name":"flute.dsp","size":252,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/fluteMIDI.dsp","name":"fluteMIDI.dsp","size":279,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/frenchBell.dsp","name":"frenchBell.dsp","size":249,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/germanBell.dsp","name":"germanBell.dsp","size":249,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/guitarMIDI.dsp","name":"guitarMIDI.dsp","size":258,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/karplus.dsp","name":"karplus.dsp","size":288,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/marimbaMIDI.dsp","name":"marimbaMIDI.dsp","size":336,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/modularInterpInstrMIDI.dsp","name":"modularInterpInstrMIDI.dsp","size":310,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/nylonGuitarMIDI.dsp","name":"nylonGuitarMIDI.dsp","size":268,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/russianBell.dsp","name":"russianBell.dsp","size":252,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/standardBell.dsp","name":"standardBell.dsp","size":255,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/violin.dsp","name":"violin.dsp","size":268,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/violinMIDI.dsp","name":"violinMIDI.dsp","size":257,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/vocalBP.dsp","name":"vocalBP.dsp","size":258,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/vocalBPMIDI.dsp","name":"vocalBPMIDI.dsp","size":286,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/vocalFOF.dsp","name":"vocalFOF.dsp","size":233,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/vocalFOFMIDI.dsp","name":"vocalFOFMIDI.dsp","size":261,"extension":".dsp","type":"file"}],"size":82116,"type":"directory"},{"path":"examples/pitchShifting","name":"pitchShifting","children":[{"path":"examples/pitchShifting/pitchShifter.dsp","name":"pitchShifter.dsp","size":559,"extension":".dsp","type":"file"}],"size":559,"type":"directory"},{"path":"examples/psychoacoustic","name":"psychoacoustic","children":[{"path":"examples/psychoacoustic/harmonicExciter.dsp","name":"harmonicExciter.dsp","size":379,"extension":".dsp","type":"file"}],"size":379,"type":"directory"},{"path":"examples/reverb","name":"reverb","children":[{"path":"examples/reverb/dattorro.dsp","name":"dattorro.dsp","size":189,"extension":".dsp","type":"file"},{"path":"examples/reverb/fdnRev.dsp","name":"fdnRev.dsp","size":200,"extension":".dsp","type":"file"},{"path":"examples/reverb/freeverb.dsp","name":"freeverb.dsp","size":173,"extension":".dsp","type":"file"},{"path":"examples/reverb/greyhole.dsp","name":"greyhole.dsp","size":177,"extension":".dsp","type":"file"},{"path":"examples/reverb/jprev.dsp","name":"jprev.dsp","size":168,"extension":".dsp","type":"file"},{"path":"examples/reverb/reverbDesigner.dsp","name":"reverbDesigner.dsp","size":307,"extension":".dsp","type":"file"},{"path":"examples/reverb/reverbTester.dsp","name":"reverbTester.dsp","size":205,"extension":".dsp","type":"file"},{"path":"examples/reverb/zitaRev.dsp","name":"zitaRev.dsp","size":239,"extension":".dsp","type":"file"},{"path":"examples/reverb/zitaRevFDN.dsp","name":"zitaRevFDN.dsp","size":217,"extension":".dsp","type":"file"}],"size":1875,"type":"directory"},{"path":"examples/smartKeyboard","name":"smartKeyboard","children":[{"path":"examples/smartKeyboard/acGuitar.dsp","name":"acGuitar.dsp","size":3902,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/associatedEffects","name":"associatedEffects","children":[{"path":"examples/smartKeyboard/associatedEffects/elecGuitarEffect.dsp","name":"elecGuitarEffect.dsp","size":186,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/associatedEffects/myEffect.dsp","name":"myEffect.dsp","size":89,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/associatedEffects/reverb.dsp","name":"reverb.dsp","size":89,"extension":".dsp","type":"file"}],"size":364,"type":"directory"},{"path":"examples/smartKeyboard/bells.dsp","name":"bells.dsp","size":3002,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/bowed.dsp","name":"bowed.dsp","size":3130,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/brass.dsp","name":"brass.dsp","size":3151,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/clarinet.dsp","name":"clarinet.dsp","size":5188,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/crazyGuiro.dsp","name":"crazyGuiro.dsp","size":3916,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/drums.dsp","name":"drums.dsp","size":2550,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/dubDub.dsp","name":"dubDub.dsp","size":3264,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/elecGuitar.dsp","name":"elecGuitar.dsp","size":2516,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/fm.dsp","name":"fm.dsp","size":2974,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/frog.dsp","name":"frog.dsp","size":2868,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/harp.dsp","name":"harp.dsp","size":3329,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/midiOnly.dsp","name":"midiOnly.dsp","size":2458,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/multiSynth.dsp","name":"multiSynth.dsp","size":2550,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/toy.dsp","name":"toy.dsp","size":2823,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/trumpet.dsp","name":"trumpet.dsp","size":1922,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/turenas.dsp","name":"turenas.dsp","size":4268,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/violin.dsp","name":"violin.dsp","size":3439,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/violin2.dsp","name":"violin2.dsp","size":3017,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/vocal.dsp","name":"vocal.dsp","size":1384,"extension":".dsp","type":"file"}],"size":62015,"type":"directory"},{"path":"examples/spat","name":"spat","children":[{"path":"examples/spat/panpot.dsp","name":"panpot.dsp","size":392,"extension":".dsp","type":"file"},{"path":"examples/spat/spat.dsp","name":"spat.dsp","size":695,"extension":".dsp","type":"file"}],"size":1087,"type":"directory"}],"size":1786460,"type":"directory"} \ No newline at end of file +{"path":"./src/static/examples","name":"examples","children":[{"path":"examples/ambisonics","name":"ambisonics","children":[{"path":"examples/ambisonics/fourSourcesToOcto.dsp","name":"fourSourcesToOcto.dsp","size":981,"extension":".dsp","type":"file"},{"path":"examples/ambisonics/oneSourceToStereo.dsp","name":"oneSourceToStereo.dsp","size":404,"extension":".dsp","type":"file"}],"size":1385,"type":"directory"},{"path":"examples/analysis","name":"analysis","children":[{"path":"examples/analysis/dbmeter.dsp","name":"dbmeter.dsp","size":628,"extension":".dsp","type":"file"},{"path":"examples/analysis/FFT.dsp","name":"FFT.dsp","size":874,"extension":".dsp","type":"file"},{"path":"examples/analysis/spectralLevel.dsp","name":"spectralLevel.dsp","size":233,"extension":".dsp","type":"file"},{"path":"examples/analysis/spectralTiltLab.dsp","name":"spectralTiltLab.dsp","size":668,"extension":".dsp","type":"file"},{"path":"examples/analysis/vumeter.dsp","name":"vumeter.dsp","size":545,"extension":".dsp","type":"file"}],"size":2948,"type":"directory"},{"path":"examples/bela","name":"bela","children":[{"path":"examples/bela/AdditiveSynth.dsp","name":"AdditiveSynth.dsp","size":1462,"extension":".dsp","type":"file"},{"path":"examples/bela/AdditiveSynth_Analog.dsp","name":"AdditiveSynth_Analog.dsp","size":1525,"extension":".dsp","type":"file"},{"path":"examples/bela/crossDelay2.dsp","name":"crossDelay2.dsp","size":2314,"extension":".dsp","type":"file"},{"path":"examples/bela/Faust-complement.lib","name":"Faust-complement.lib","size":2032,"extension":".lib","type":"file"},{"path":"examples/bela/FMSynth2.dsp","name":"FMSynth2.dsp","size":1956,"extension":".dsp","type":"file"},{"path":"examples/bela/FMSynth2_Analog.dsp","name":"FMSynth2_Analog.dsp","size":1873,"extension":".dsp","type":"file"},{"path":"examples/bela/FMSynth2_FX.dsp","name":"FMSynth2_FX.dsp","size":4569,"extension":".dsp","type":"file"},{"path":"examples/bela/FMSynth2_FX_Analog.dsp","name":"FMSynth2_FX_Analog.dsp","size":4683,"extension":".dsp","type":"file"},{"path":"examples/bela/FXChaine2.dsp","name":"FXChaine2.dsp","size":5513,"extension":".dsp","type":"file"},{"path":"examples/bela/GrainGenerator.dsp","name":"GrainGenerator.dsp","size":3631,"extension":".dsp","type":"file"},{"path":"examples/bela/granulator.dsp","name":"granulator.dsp","size":2429,"extension":".dsp","type":"file"},{"path":"examples/bela/repeater.dsp","name":"repeater.dsp","size":2315,"extension":".dsp","type":"file"},{"path":"examples/bela/simpleFX.dsp","name":"simpleFX.dsp","size":2434,"extension":".dsp","type":"file"},{"path":"examples/bela/simpleFX_Analog.dsp","name":"simpleFX_Analog.dsp","size":2582,"extension":".dsp","type":"file"},{"path":"examples/bela/simpleSynth.dsp","name":"simpleSynth.dsp","size":2562,"extension":".dsp","type":"file"},{"path":"examples/bela/simpleSynth_Analog.dsp","name":"simpleSynth_Analog.dsp","size":2596,"extension":".dsp","type":"file"},{"path":"examples/bela/simpleSynth_FX.dsp","name":"simpleSynth_FX.dsp","size":5153,"extension":".dsp","type":"file"},{"path":"examples/bela/simpleSynth_FX_Analog.dsp","name":"simpleSynth_FX_Analog.dsp","size":5350,"extension":".dsp","type":"file"},{"path":"examples/bela/WaveSynth.dsp","name":"WaveSynth.dsp","size":2230,"extension":".dsp","type":"file"},{"path":"examples/bela/WaveSynth_Analog.dsp","name":"WaveSynth_Analog.dsp","size":2345,"extension":".dsp","type":"file"},{"path":"examples/bela/WaveSynth_FX.dsp","name":"WaveSynth_FX.dsp","size":4895,"extension":".dsp","type":"file"},{"path":"examples/bela/WaveSynth_FX_Analog.dsp","name":"WaveSynth_FX_Analog.dsp","size":5084,"extension":".dsp","type":"file"}],"size":69533,"type":"directory"},{"path":"examples/delayEcho","name":"delayEcho","children":[{"path":"examples/delayEcho/echo.dsp","name":"echo.dsp","size":462,"extension":".dsp","type":"file"},{"path":"examples/delayEcho/quadEcho.dsp","name":"quadEcho.dsp","size":561,"extension":".dsp","type":"file"},{"path":"examples/delayEcho/smoothDelay.dsp","name":"smoothDelay.dsp","size":825,"extension":".dsp","type":"file"},{"path":"examples/delayEcho/stereoEcho.dsp","name":"stereoEcho.dsp","size":491,"extension":".dsp","type":"file"},{"path":"examples/delayEcho/tapiir.dsp","name":"tapiir.dsp","size":1263,"extension":".dsp","type":"file"}],"size":3602,"type":"directory"},{"path":"examples/dynamic","name":"dynamic","children":[{"path":"examples/dynamic/compressor.dsp","name":"compressor.dsp","size":194,"extension":".dsp","type":"file"},{"path":"examples/dynamic/distortion.dsp","name":"distortion.dsp","size":192,"extension":".dsp","type":"file"},{"path":"examples/dynamic/gateCompressor.dsp","name":"gateCompressor.dsp","size":333,"extension":".dsp","type":"file"},{"path":"examples/dynamic/noiseGate.dsp","name":"noiseGate.dsp","size":182,"extension":".dsp","type":"file"},{"path":"examples/dynamic/volume.dsp","name":"volume.dsp","size":376,"extension":".dsp","type":"file"}],"size":1277,"type":"directory"},{"path":"examples/filtering","name":"filtering","children":[{"path":"examples/filtering/APF.dsp","name":"APF.dsp","size":337,"extension":".dsp","type":"file"},{"path":"examples/filtering/bandFilter.dsp","name":"bandFilter.dsp","size":1314,"extension":".dsp","type":"file"},{"path":"examples/filtering/BPF.dsp","name":"BPF.dsp","size":337,"extension":".dsp","type":"file"},{"path":"examples/filtering/cryBaby.dsp","name":"cryBaby.dsp","size":156,"extension":".dsp","type":"file"},{"path":"examples/filtering/diodeLadder.dsp","name":"diodeLadder.dsp","size":381,"extension":".dsp","type":"file"},{"path":"examples/filtering/DNN.dsp","name":"DNN.dsp","size":806,"extension":".dsp","type":"file"},{"path":"examples/filtering/filterBank.dsp","name":"filterBank.dsp","size":177,"extension":".dsp","type":"file"},{"path":"examples/filtering/graphicEqLab.dsp","name":"graphicEqLab.dsp","size":354,"extension":".dsp","type":"file"},{"path":"examples/filtering/highShelf.dsp","name":"highShelf.dsp","size":349,"extension":".dsp","type":"file"},{"path":"examples/filtering/HPF.dsp","name":"HPF.dsp","size":337,"extension":".dsp","type":"file"},{"path":"examples/filtering/korg35HPF.dsp","name":"korg35HPF.dsp","size":379,"extension":".dsp","type":"file"},{"path":"examples/filtering/korg35LPF.dsp","name":"korg35LPF.dsp","size":379,"extension":".dsp","type":"file"},{"path":"examples/filtering/lfBoost.dsp","name":"lfBoost.dsp","size":1348,"extension":".dsp","type":"file"},{"path":"examples/filtering/lowBoost.dsp","name":"lowBoost.dsp","size":1478,"extension":".dsp","type":"file"},{"path":"examples/filtering/lowCut.dsp","name":"lowCut.dsp","size":1453,"extension":".dsp","type":"file"},{"path":"examples/filtering/lowShelf.dsp","name":"lowShelf.dsp","size":347,"extension":".dsp","type":"file"},{"path":"examples/filtering/LPF.dsp","name":"LPF.dsp","size":337,"extension":".dsp","type":"file"},{"path":"examples/filtering/moogHalfLadder.dsp","name":"moogHalfLadder.dsp","size":390,"extension":".dsp","type":"file"},{"path":"examples/filtering/moogLadder.dsp","name":"moogLadder.dsp","size":378,"extension":".dsp","type":"file"},{"path":"examples/filtering/moogVCF.dsp","name":"moogVCF.dsp","size":153,"extension":".dsp","type":"file"},{"path":"examples/filtering/multibandFilter.dsp","name":"multibandFilter.dsp","size":561,"extension":".dsp","type":"file"},{"path":"examples/filtering/notch.dsp","name":"notch.dsp","size":341,"extension":".dsp","type":"file"},{"path":"examples/filtering/oberheim.dsp","name":"oberheim.dsp","size":457,"extension":".dsp","type":"file"},{"path":"examples/filtering/oberheimBPF.dsp","name":"oberheimBPF.dsp","size":397,"extension":".dsp","type":"file"},{"path":"examples/filtering/oberheimBSF.dsp","name":"oberheimBSF.dsp","size":397,"extension":".dsp","type":"file"},{"path":"examples/filtering/oberheimHPF.dsp","name":"oberheimHPF.dsp","size":397,"extension":".dsp","type":"file"},{"path":"examples/filtering/oberheimLPF.dsp","name":"oberheimLPF.dsp","size":396,"extension":".dsp","type":"file"},{"path":"examples/filtering/parametricEqLab.dsp","name":"parametricEqLab.dsp","size":437,"extension":".dsp","type":"file"},{"path":"examples/filtering/parametricEqualizer.dsp","name":"parametricEqualizer.dsp","size":185,"extension":".dsp","type":"file"},{"path":"examples/filtering/peakingEQ.dsp","name":"peakingEQ.dsp","size":349,"extension":".dsp","type":"file"},{"path":"examples/filtering/peakNotch.dsp","name":"peakNotch.dsp","size":350,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKey2ndOrder.dsp","name":"sallenKey2ndOrder.dsp","size":481,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKey2ndOrderBPF.dsp","name":"sallenKey2ndOrderBPF.dsp","size":430,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKey2ndOrderHPF.dsp","name":"sallenKey2ndOrderHPF.dsp","size":429,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKey2ndOrderLPF.dsp","name":"sallenKey2ndOrderLPF.dsp","size":429,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKeyOnePole.dsp","name":"sallenKeyOnePole.dsp","size":444,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKeyOnePoleHPF.dsp","name":"sallenKeyOnePoleHPF.dsp","size":390,"extension":".dsp","type":"file"},{"path":"examples/filtering/sallenKeyOnePoleLPF.dsp","name":"sallenKeyOnePoleLPF.dsp","size":389,"extension":".dsp","type":"file"},{"path":"examples/filtering/spectralTilt.dsp","name":"spectralTilt.dsp","size":191,"extension":".dsp","type":"file"},{"path":"examples/filtering/vcfWahLab.dsp","name":"vcfWahLab.dsp","size":504,"extension":".dsp","type":"file"},{"path":"examples/filtering/vocoder.dsp","name":"vocoder.dsp","size":226,"extension":".dsp","type":"file"},{"path":"examples/filtering/wahPedal.dsp","name":"wahPedal.dsp","size":163,"extension":".dsp","type":"file"}],"size":19533,"type":"directory"},{"path":"examples/gameaudio","name":"gameaudio","children":[{"path":"examples/gameaudio/bubble.dsp","name":"bubble.dsp","size":1037,"extension":".dsp","type":"file"},{"path":"examples/gameaudio/door.dsp","name":"door.dsp","size":1892,"extension":".dsp","type":"file"},{"path":"examples/gameaudio/fire.dsp","name":"fire.dsp","size":1312,"extension":".dsp","type":"file"},{"path":"examples/gameaudio/insects.dsp","name":"insects.dsp","size":4953,"extension":".dsp","type":"file"},{"path":"examples/gameaudio/rain.dsp","name":"rain.dsp","size":622,"extension":".dsp","type":"file"},{"path":"examples/gameaudio/wind.dsp","name":"wind.dsp","size":551,"extension":".dsp","type":"file"}],"size":10367,"type":"directory"},{"path":"examples/generator","name":"generator","children":[{"path":"examples/generator/filterOsc.dsp","name":"filterOsc.dsp","size":213,"extension":".dsp","type":"file"},{"path":"examples/generator/noise.dsp","name":"noise.dsp","size":1813,"extension":".dsp","type":"file"},{"path":"examples/generator/noiseMetadata.dsp","name":"noiseMetadata.dsp","size":2356,"extension":".dsp","type":"file"},{"path":"examples/generator/osc.dsp","name":"osc.dsp","size":471,"extension":".dsp","type":"file"},{"path":"examples/generator/osci.dsp","name":"osci.dsp","size":505,"extension":".dsp","type":"file"},{"path":"examples/generator/sawtoothLab.dsp","name":"sawtoothLab.dsp","size":239,"extension":".dsp","type":"file"},{"path":"examples/generator/virtualAnalog.dsp","name":"virtualAnalog.dsp","size":228,"extension":".dsp","type":"file"},{"path":"examples/generator/virtualAnalogLab.dsp","name":"virtualAnalogLab.dsp","size":268,"extension":".dsp","type":"file"}],"size":6093,"type":"directory"},{"path":"examples/LIBRARIES","name":"LIBRARIES","children":[{"path":"examples/LIBRARIES/aanl.lib","name":"aanl.lib","size":27753,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/all.lib","name":"all.lib","size":1016,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/analyzers.lib","name":"analyzers.lib","size":37512,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/basics.lib","name":"basics.lib","size":60106,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/compressors.lib","name":"compressors.lib","size":64754,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/delays.lib","name":"delays.lib","size":15122,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/demos.lib","name":"demos.lib","size":65185,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/dx7.lib","name":"dx7.lib","size":69103,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/envelopes.lib","name":"envelopes.lib","size":12032,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/fds.lib","name":"fds.lib","size":20559,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/filters.lib","name":"filters.lib","size":115548,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/hoa.lib","name":"hoa.lib","size":42799,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/instruments.lib","name":"instruments.lib","size":9395,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/interpolators.lib","name":"interpolators.lib","size":23955,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/maths.lib","name":"maths.lib","size":21483,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/maxmsp.lib","name":"maxmsp.lib","size":8174,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/mi.lib","name":"mi.lib","size":17280,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/misceffects.lib","name":"misceffects.lib","size":21753,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/noises.lib","name":"noises.lib","size":16086,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/oscillators.lib","name":"oscillators.lib","size":53381,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/phaflangers.lib","name":"phaflangers.lib","size":10024,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/physmodels.lib","name":"physmodels.lib","size":171348,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/platform.lib","name":"platform.lib","size":3131,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/quantizers.lib","name":"quantizers.lib","size":9855,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/reducemaps.lib","name":"reducemaps.lib","size":4836,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/reverbs.lib","name":"reverbs.lib","size":37506,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/routes.lib","name":"routes.lib","size":8565,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/sf.lib","name":"sf.lib","size":1066,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/signals.lib","name":"signals.lib","size":16416,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/soundfiles.lib","name":"soundfiles.lib","size":9361,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/spats.lib","name":"spats.lib","size":5193,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/stdfaust.lib","name":"stdfaust.lib","size":1270,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/synths.lib","name":"synths.lib","size":11395,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/tonestacks.lib","name":"tonestacks.lib","size":12354,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/tubes.lib","name":"tubes.lib","size":349789,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/vaeffects.lib","name":"vaeffects.lib","size":35897,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/version.lib","name":"version.lib","size":910,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/wdmodels.lib","name":"wdmodels.lib","size":89953,"extension":".lib","type":"file"},{"path":"examples/LIBRARIES/webaudio.lib","name":"webaudio.lib","size":12119,"extension":".lib","type":"file"}],"size":1493984,"type":"directory"},{"path":"examples/misc","name":"misc","children":[{"path":"examples/misc/autopan.dsp","name":"autopan.dsp","size":2292,"extension":".dsp","type":"file"},{"path":"examples/misc/capture.dsp","name":"capture.dsp","size":802,"extension":".dsp","type":"file"},{"path":"examples/misc/drumkit.dsp","name":"drumkit.dsp","size":1307,"extension":".dsp","type":"file"},{"path":"examples/misc/guitarix.dsp","name":"guitarix.dsp","size":8986,"extension":".dsp","type":"file"},{"path":"examples/misc/matrix.dsp","name":"matrix.dsp","size":551,"extension":".dsp","type":"file"},{"path":"examples/misc/midiTester.dsp","name":"midiTester.dsp","size":7986,"extension":".dsp","type":"file"},{"path":"examples/misc/mixer.dsp","name":"mixer.dsp","size":667,"extension":".dsp","type":"file"},{"path":"examples/misc/statespace.dsp","name":"statespace.dsp","size":1356,"extension":".dsp","type":"file"},{"path":"examples/misc/switcher.dsp","name":"switcher.dsp","size":564,"extension":".dsp","type":"file"},{"path":"examples/misc/tester.dsp","name":"tester.dsp","size":1082,"extension":".dsp","type":"file"},{"path":"examples/misc/tester2.dsp","name":"tester2.dsp","size":1189,"extension":".dsp","type":"file"},{"path":"examples/misc/UITester.dsp","name":"UITester.dsp","size":2158,"extension":".dsp","type":"file"}],"size":28940,"type":"directory"},{"path":"examples/phasing","name":"phasing","children":[{"path":"examples/phasing/flanger.dsp","name":"flanger.dsp","size":188,"extension":".dsp","type":"file"},{"path":"examples/phasing/phaser.dsp","name":"phaser.dsp","size":184,"extension":".dsp","type":"file"},{"path":"examples/phasing/phaserFlangerLab.dsp","name":"phaserFlangerLab.dsp","size":395,"extension":".dsp","type":"file"}],"size":767,"type":"directory"},{"path":"examples/physicalModeling","name":"physicalModeling","children":[{"path":"examples/physicalModeling/brass.dsp","name":"brass.dsp","size":263,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/brassMIDI.dsp","name":"brassMIDI.dsp","size":290,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/churchBell.dsp","name":"churchBell.dsp","size":244,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/clarinet.dsp","name":"clarinet.dsp","size":261,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/clarinetMIDI.dsp","name":"clarinetMIDI.dsp","size":288,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/djembeMIDI.dsp","name":"djembeMIDI.dsp","size":257,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/elecGuitarMIDI.dsp","name":"elecGuitarMIDI.dsp","size":330,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/englishBell.dsp","name":"englishBell.dsp","size":252,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk","name":"faust-stk","children":[{"path":"examples/physicalModeling/faust-stk/blowBottle.dsp","name":"blowBottle.dsp","size":5036,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/bowed.dsp","name":"bowed.dsp","size":5791,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/brass.dsp","name":"brass.dsp","size":5421,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/clarinet.dsp","name":"clarinet.dsp","size":5439,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/flute.dsp","name":"flute.dsp","size":5763,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/fluteStk.dsp","name":"fluteStk.dsp","size":6147,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/glassHarmonica.dsp","name":"glassHarmonica.dsp","size":5550,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/NLFeks.dsp","name":"NLFeks.dsp","size":3140,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/NLFfm.dsp","name":"NLFfm.dsp","size":3849,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/saxophony.dsp","name":"saxophony.dsp","size":6161,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/sitar.dsp","name":"sitar.dsp","size":1747,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/tibetanBowl.dsp","name":"tibetanBowl.dsp","size":6118,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/tunedBar.dsp","name":"tunedBar.dsp","size":5350,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/uniBar.dsp","name":"uniBar.dsp","size":3872,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/faust-stk/voiceForm.dsp","name":"voiceForm.dsp","size":5988,"extension":".dsp","type":"file"}],"size":75372,"type":"directory"},{"path":"examples/physicalModeling/flute.dsp","name":"flute.dsp","size":252,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/fluteMIDI.dsp","name":"fluteMIDI.dsp","size":279,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/frenchBell.dsp","name":"frenchBell.dsp","size":249,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/germanBell.dsp","name":"germanBell.dsp","size":249,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/guitarMIDI.dsp","name":"guitarMIDI.dsp","size":258,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/karplus.dsp","name":"karplus.dsp","size":288,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/marimbaMIDI.dsp","name":"marimbaMIDI.dsp","size":336,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/modularInterpInstrMIDI.dsp","name":"modularInterpInstrMIDI.dsp","size":310,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/nylonGuitarMIDI.dsp","name":"nylonGuitarMIDI.dsp","size":268,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/russianBell.dsp","name":"russianBell.dsp","size":252,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/standardBell.dsp","name":"standardBell.dsp","size":255,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/violin.dsp","name":"violin.dsp","size":268,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/violinMIDI.dsp","name":"violinMIDI.dsp","size":257,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/vocalBP.dsp","name":"vocalBP.dsp","size":258,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/vocalBPMIDI.dsp","name":"vocalBPMIDI.dsp","size":286,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/vocalFOF.dsp","name":"vocalFOF.dsp","size":233,"extension":".dsp","type":"file"},{"path":"examples/physicalModeling/vocalFOFMIDI.dsp","name":"vocalFOFMIDI.dsp","size":261,"extension":".dsp","type":"file"}],"size":82116,"type":"directory"},{"path":"examples/pitchShifting","name":"pitchShifting","children":[{"path":"examples/pitchShifting/pitchShifter.dsp","name":"pitchShifter.dsp","size":559,"extension":".dsp","type":"file"}],"size":559,"type":"directory"},{"path":"examples/psychoacoustic","name":"psychoacoustic","children":[{"path":"examples/psychoacoustic/harmonicExciter.dsp","name":"harmonicExciter.dsp","size":379,"extension":".dsp","type":"file"}],"size":379,"type":"directory"},{"path":"examples/reverb","name":"reverb","children":[{"path":"examples/reverb/dattorro.dsp","name":"dattorro.dsp","size":189,"extension":".dsp","type":"file"},{"path":"examples/reverb/fdnRev.dsp","name":"fdnRev.dsp","size":200,"extension":".dsp","type":"file"},{"path":"examples/reverb/freeverb.dsp","name":"freeverb.dsp","size":173,"extension":".dsp","type":"file"},{"path":"examples/reverb/greyhole.dsp","name":"greyhole.dsp","size":177,"extension":".dsp","type":"file"},{"path":"examples/reverb/jprev.dsp","name":"jprev.dsp","size":168,"extension":".dsp","type":"file"},{"path":"examples/reverb/reverbDesigner.dsp","name":"reverbDesigner.dsp","size":307,"extension":".dsp","type":"file"},{"path":"examples/reverb/reverbTester.dsp","name":"reverbTester.dsp","size":205,"extension":".dsp","type":"file"},{"path":"examples/reverb/zitaRev.dsp","name":"zitaRev.dsp","size":239,"extension":".dsp","type":"file"},{"path":"examples/reverb/zitaRevFDN.dsp","name":"zitaRevFDN.dsp","size":217,"extension":".dsp","type":"file"}],"size":1875,"type":"directory"},{"path":"examples/smartKeyboard","name":"smartKeyboard","children":[{"path":"examples/smartKeyboard/acGuitar.dsp","name":"acGuitar.dsp","size":3902,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/associatedEffects","name":"associatedEffects","children":[{"path":"examples/smartKeyboard/associatedEffects/elecGuitarEffect.dsp","name":"elecGuitarEffect.dsp","size":186,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/associatedEffects/myEffect.dsp","name":"myEffect.dsp","size":89,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/associatedEffects/reverb.dsp","name":"reverb.dsp","size":89,"extension":".dsp","type":"file"}],"size":364,"type":"directory"},{"path":"examples/smartKeyboard/bells.dsp","name":"bells.dsp","size":3002,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/bowed.dsp","name":"bowed.dsp","size":3130,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/brass.dsp","name":"brass.dsp","size":3151,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/clarinet.dsp","name":"clarinet.dsp","size":5188,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/crazyGuiro.dsp","name":"crazyGuiro.dsp","size":3916,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/drums.dsp","name":"drums.dsp","size":2550,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/dubDub.dsp","name":"dubDub.dsp","size":3264,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/elecGuitar.dsp","name":"elecGuitar.dsp","size":2516,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/fm.dsp","name":"fm.dsp","size":2974,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/frog.dsp","name":"frog.dsp","size":2868,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/harp.dsp","name":"harp.dsp","size":3329,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/midiOnly.dsp","name":"midiOnly.dsp","size":2458,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/multiSynth.dsp","name":"multiSynth.dsp","size":2550,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/toy.dsp","name":"toy.dsp","size":2823,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/trumpet.dsp","name":"trumpet.dsp","size":1922,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/turenas.dsp","name":"turenas.dsp","size":4268,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/violin.dsp","name":"violin.dsp","size":3439,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/violin2.dsp","name":"violin2.dsp","size":3017,"extension":".dsp","type":"file"},{"path":"examples/smartKeyboard/vocal.dsp","name":"vocal.dsp","size":1384,"extension":".dsp","type":"file"}],"size":62015,"type":"directory"},{"path":"examples/spat","name":"spat","children":[{"path":"examples/spat/panpot.dsp","name":"panpot.dsp","size":392,"extension":".dsp","type":"file"},{"path":"examples/spat/spat.dsp","name":"spat.dsp","size":695,"extension":".dsp","type":"file"}],"size":1087,"type":"directory"}],"size":1786460,"type":"directory"} \ No newline at end of file diff --git a/src/types.d.ts b/src/types.d.ts index 61c55df..2e5eecc 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -1,5 +1,5 @@ type FaustEditorCompileOptions = { - mainFileIndex?: number; + mainFile?: string; useWorklet: boolean; bufferSize: 128 | 256 | 512 | 1024 | 2048 | 4096; saveCode: boolean;