diff --git a/package.json b/package.json index a077e2f..170876f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "@rspack/dev-middleware", "version": "7.4.5", + "type": "module", "description": "A development middleware for Rspack", "keywords": [ "rspack", @@ -32,8 +33,7 @@ "fix": "pnpm run fix:prettier", "clean": "del-cli dist types", "build:types": "tsc --declaration --emitDeclarationOnly --outDir types && prettier \"types/**/*.ts\" --write", - "build:code": "babel src -d dist --copy-files", - "build": "npm-run-all -p \"build:**\"", + "build": "rslib --syntax es2023 && pnpm run build:types", "test:watch": "rstest -w", "test": "rstest", "prepare": "pnpm run build" @@ -45,12 +45,10 @@ "range-parser": "^1.2.1" }, "devDependencies": { - "@babel/cli": "^7.16.7", - "@babel/core": "^7.16.7", - "@babel/preset-env": "^7.16.7", "@fastify/express": "^4.0.2", "@hapi/hapi": "^21.3.7", "@hono/node-server": "^1.12.0", + "@rslib/core": "^0.20.0", "@rspack/core": "2.0.0-beta.5", "@rstest/core": "0.9.2", "@types/connect": "^3.4.35", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 65ec798..d9225d9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,15 +21,6 @@ importers: specifier: ^1.2.1 version: 1.2.1 devDependencies: - '@babel/cli': - specifier: ^7.16.7 - version: 7.28.6(@babel/core@7.29.0) - '@babel/core': - specifier: ^7.16.7 - version: 7.29.0 - '@babel/preset-env': - specifier: ^7.16.7 - version: 7.29.0(@babel/core@7.29.0) '@fastify/express': specifier: ^4.0.2 version: 4.0.4 @@ -39,6 +30,9 @@ importers: '@hono/node-server': specifier: ^1.12.0 version: 1.19.11(hono@4.12.7) + '@rslib/core': + specifier: ^0.20.0 + version: 0.20.0(typescript@5.9.3) '@rspack/core': specifier: 2.0.0-beta.5 version: 2.0.0-beta.5(@swc/helpers@0.5.19) @@ -114,503 +108,63 @@ importers: packages: - '@babel/cli@7.28.6': - resolution: {integrity: sha512-6EUNcuBbNkj08Oj4gAZ+BUU8yLCgKzgVX4gaTh09Ya2C8ICM4P+G30g4m3akRxSYAp3A/gnWchrNst7px4/nUQ==} - engines: {node: '>=6.9.0'} - hasBin: true - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/code-frame@7.29.0': - resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.29.0': - resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.29.0': - resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.29.0': - resolution: {integrity: sha512-vSH118/wwM/pLR38g/Sgk05sNtro6TlTJKuiMXDaZqPUfjTFcudpCOt00IhOfj+1BFAX+UFAlzCU+6WXr3GLFQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-annotate-as-pure@7.27.3': - resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.28.6': - resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-create-class-features-plugin@7.28.6': - resolution: {integrity: sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-create-regexp-features-plugin@7.28.5': - resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-define-polyfill-provider@0.6.6': - resolution: {integrity: sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-member-expression-to-functions@7.28.5': - resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.28.6': - resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.28.6': - resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-optimise-call-expression@7.27.1': - resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-plugin-utils@7.28.6': - resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} - engines: {node: '>=6.9.0'} - - '@babel/helper-remap-async-to-generator@7.27.1': - resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-replace-supers@7.28.6': - resolution: {integrity: sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': - resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-wrap-function@7.28.6': - resolution: {integrity: sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.28.6': - resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.29.0': - resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5': - resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1': - resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1': - resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1': - resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6': - resolution: {integrity: sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-assertions@7.28.6': - resolution: {integrity: sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-attributes@7.28.6': - resolution: {integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-arrow-functions@7.27.1': - resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-generator-functions@7.29.0': - resolution: {integrity: sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-to-generator@7.28.6': - resolution: {integrity: sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoped-functions@7.27.1': - resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoping@7.28.6': - resolution: {integrity: sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-properties@7.28.6': - resolution: {integrity: sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-static-block@7.28.6': - resolution: {integrity: sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - - '@babel/plugin-transform-classes@7.28.6': - resolution: {integrity: sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-computed-properties@7.28.6': - resolution: {integrity: sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-destructuring@7.28.5': - resolution: {integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-dotall-regex@7.28.6': - resolution: {integrity: sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-keys@7.27.1': - resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0': - resolution: {integrity: sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-dynamic-import@7.27.1': - resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-explicit-resource-management@7.28.6': - resolution: {integrity: sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-exponentiation-operator@7.28.6': - resolution: {integrity: sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-export-namespace-from@7.27.1': - resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-for-of@7.27.1': - resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-function-name@7.27.1': - resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-json-strings@7.28.6': - resolution: {integrity: sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-literals@7.27.1': - resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-logical-assignment-operators@7.28.6': - resolution: {integrity: sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-member-expression-literals@7.27.1': - resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-amd@7.27.1': - resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-commonjs@7.28.6': - resolution: {integrity: sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-systemjs@7.29.0': - resolution: {integrity: sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-umd@7.27.1': - resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-named-capturing-groups-regex@7.29.0': - resolution: {integrity: sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-new-target@7.27.1': - resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-nullish-coalescing-operator@7.28.6': - resolution: {integrity: sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-numeric-separator@7.28.6': - resolution: {integrity: sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-rest-spread@7.28.6': - resolution: {integrity: sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-super@7.27.1': - resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-catch-binding@7.28.6': - resolution: {integrity: sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-chaining@7.28.6': - resolution: {integrity: sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-parameters@7.27.7': - resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-methods@7.28.6': - resolution: {integrity: sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-property-in-object@7.28.6': - resolution: {integrity: sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-property-literals@7.27.1': - resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regenerator@7.29.0': - resolution: {integrity: sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regexp-modifiers@7.28.6': - resolution: {integrity: sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-reserved-words@7.27.1': - resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-shorthand-properties@7.27.1': - resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-spread@7.28.6': - resolution: {integrity: sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-sticky-regex@7.27.1': - resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-template-literals@7.27.1': - resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typeof-symbol@7.27.1': - resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@ast-grep/napi-darwin-arm64@0.37.0': + resolution: {integrity: sha512-QAiIiaAbLvMEg/yBbyKn+p1gX2/FuaC0SMf7D7capm/oG4xGMzdeaQIcSosF4TCxxV+hIH4Bz9e4/u7w6Bnk3Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] - '@babel/plugin-transform-unicode-escapes@7.27.1': - resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@ast-grep/napi-darwin-x64@0.37.0': + resolution: {integrity: sha512-zvcvdgekd4ySV3zUbUp8HF5nk5zqwiMXTuVzTUdl/w08O7JjM6XPOIVT+d2o/MqwM9rsXdzdergY5oY2RdhSPA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] - '@babel/plugin-transform-unicode-property-regex@7.28.6': - resolution: {integrity: sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@ast-grep/napi-linux-arm64-gnu@0.37.0': + resolution: {integrity: sha512-L7Sj0lXy8X+BqSMgr1LB8cCoWk0rericdeu+dC8/c8zpsav5Oo2IQKY1PmiZ7H8IHoFBbURLf8iklY9wsD+cyA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] - '@babel/plugin-transform-unicode-regex@7.27.1': - resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@ast-grep/napi-linux-arm64-musl@0.37.0': + resolution: {integrity: sha512-LF9sAvYy6es/OdyJDO3RwkX3I82Vkfsng1sqUBcoWC1jVb1wX5YVzHtpQox9JrEhGl+bNp7FYxB4Qba9OdA5GA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] - '@babel/plugin-transform-unicode-sets-regex@7.28.6': - resolution: {integrity: sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@ast-grep/napi-linux-x64-gnu@0.37.0': + resolution: {integrity: sha512-TViz5/klqre6aSmJzswEIjApnGjJzstG/SE8VDWsrftMBMYt2PTu3MeluZVwzSqDao8doT/P+6U11dU05UOgxw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] - '@babel/preset-env@7.29.0': - resolution: {integrity: sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@ast-grep/napi-linux-x64-musl@0.37.0': + resolution: {integrity: sha512-/BcCH33S9E3ovOAEoxYngUNXgb+JLg991sdyiNP2bSoYd30a9RHrG7CYwW6fMgua3ijQ474eV6cq9yZO1bCpXg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + '@ast-grep/napi-win32-arm64-msvc@0.37.0': + resolution: {integrity: sha512-TjQA4cFoIEW2bgjLkaL9yqT4XWuuLa5MCNd0VCDhGRDMNQ9+rhwi9eLOWRaap3xzT7g+nlbcEHL3AkVCD2+b3A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] - '@babel/template@7.28.6': - resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} - engines: {node: '>=6.9.0'} + '@ast-grep/napi-win32-ia32-msvc@0.37.0': + resolution: {integrity: sha512-uNmVka8fJCdYsyOlF9aZqQMLTatEYBynjChVTzUfFMDfmZ0bihs/YTqJVbkSm8TZM7CUX82apvn50z/dX5iWRA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] - '@babel/traverse@7.29.0': - resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} - engines: {node: '>=6.9.0'} + '@ast-grep/napi-win32-x64-msvc@0.37.0': + resolution: {integrity: sha512-vCiFOT3hSCQuHHfZ933GAwnPzmL0G04JxQEsBRfqONywyT8bSdDc/ECpAfr3S9VcS4JZ9/F6tkePKW/Om2Dq2g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] - '@babel/types@7.29.0': - resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} - engines: {node: '>=6.9.0'} + '@ast-grep/napi@0.37.0': + resolution: {integrity: sha512-Hb4o6h1Pf6yRUAX07DR4JVY7dmQw+RVQMW5/m55GoiAT/VRoKCWBtIUPPOnqDVhbx1Cjfil9b6EDrgJsUAujEQ==} + engines: {node: '>= 10'} '@cspell/cspell-bundled-dicts@9.7.0': resolution: {integrity: sha512-s7h1vo++Q3AsfQa3cs0u/KGwm3SYInuIlC4kjlCBWjQmb4KddiZB5O1u0+3TlA7GycHb5M4CR7MDfHUICgJf+w==} @@ -976,9 +530,6 @@ packages: '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - '@jridgewell/remapping@2.3.5': - resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} - '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -1115,9 +666,6 @@ packages: '@napi-rs/wasm-runtime@1.0.7': resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} - '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': - resolution: {integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==} - '@noble/hashes@1.8.0': resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} engines: {node: ^14.21.3 || >=16} @@ -1150,6 +698,19 @@ packages: core-js: optional: true + '@rslib/core@0.20.0': + resolution: {integrity: sha512-hsRwjMbBla8lyKIVR0gFsK5M3j+LSbFOTafvbT0QR90ehZXwlu+EhpHJv8v/uIRT50RVlgCrcT+LCVr1oU3pbA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7 + typescript: ^5 + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + typescript: + optional: true + '@rspack/binding-darwin-arm64@2.0.0-beta.5': resolution: {integrity: sha512-PWV/fItbDY9ySPub2YT+DynZLaXeODfzd24SMykUDCfk5U8P/4sK7+7MB8HEN9PeLiM8+iTjHN/XuXti5DzgZA==} cpu: [arm64] @@ -1465,10 +1026,6 @@ packages: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} @@ -1508,21 +1065,6 @@ packages: avvio@9.1.0: resolution: {integrity: sha512-fYASnYi600CsH/j9EQov7lECAniYiBFiiAtBNuZYLA2leLe9qOvZzqYHFjtIj6gD2VMoMLP14834LFWvr4IfDw==} - babel-plugin-polyfill-corejs2@0.4.15: - resolution: {integrity: sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-corejs3@0.14.0: - resolution: {integrity: sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-regenerator@0.6.6: - resolution: {integrity: sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1533,10 +1075,6 @@ packages: big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - body-parser@1.20.4: resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -1595,10 +1133,6 @@ packages: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} @@ -1624,10 +1158,6 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commander@6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} - comment-json@4.5.1: resolution: {integrity: sha512-taEtr3ozUmOB7it68Jll7s0Pwm+aoiHyXKrEC8SEodL4rNpdfDLqa7PfBlrgFoCNNdR8ImL+muti5IGvktJAAg==} engines: {node: '>= 6'} @@ -1654,9 +1184,6 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie-signature@1.0.7: resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} @@ -1679,9 +1206,6 @@ packages: resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} engines: {node: '>= 0.8'} - core-js-compat@3.48.0: - resolution: {integrity: sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==} - core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -1905,10 +1429,6 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} @@ -2029,17 +1549,6 @@ packages: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} - fs-readdir-recursive@1.1.0: - resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} @@ -2058,10 +1567,6 @@ packages: resolution: {integrity: sha512-omMVniXEXpdx/vKxGnPRoO2394Otlze28TyxECbFVyoSpZ9H3EO7lemjcB12OpQJzRW4e5tt/dL1rOxry6aMHg==} engines: {node: '>=20'} - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -2091,10 +1596,6 @@ packages: glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - global-directory@5.0.0: resolution: {integrity: sha512-1pgFdhK3J2LeM+dVf2Pd424yHx2ou338lC0ErNP2hPx4j8eW1Sp0XqSjNxtk6Tc4Kr5wlWtSvz8cn2yb7/SG/w==} engines: {node: '>=20'} @@ -2191,10 +1692,6 @@ packages: import-meta-resolve@4.2.0: resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -2229,10 +1726,6 @@ packages: resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} engines: {node: '>= 0.4'} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - is-boolean-object@1.2.2: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} @@ -2350,14 +1843,6 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} @@ -2404,16 +1889,6 @@ packages: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} engines: {node: '>=8.9.0'} - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -2524,10 +1999,6 @@ packages: normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - npm-run-all@4.1.5: resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} engines: {node: '>= 4'} @@ -2592,10 +2063,6 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - path-key@2.0.1: resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} engines: {node: '>=4'} @@ -2641,10 +2108,6 @@ packages: resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} engines: {node: '>=4'} - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - pino-abstract-transport@3.0.0: resolution: {integrity: sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==} @@ -2708,10 +2171,6 @@ packages: resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} engines: {node: '>=4'} - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - real-require@0.2.0: resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} engines: {node: '>= 12.13.0'} @@ -2720,28 +2179,10 @@ packages: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} - regenerate-unicode-properties@10.2.2: - resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - regexp.prototype.flags@1.5.4: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} - regexpu-core@6.4.0: - resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} - engines: {node: '>=4'} - - regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - regjsparser@0.13.0: - resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} - hasBin: true - require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -2774,6 +2215,22 @@ packages: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} + rsbuild-plugin-dts@0.20.0: + resolution: {integrity: sha512-CnTJTB59zzQFjPVEjpOaaEw5BeK/eTY6kwt4l5Lr9d3HQk3VRDSKfLWY/hpeZMbZzpCk2TqLrqIhS6a+jg7k7g==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + '@microsoft/api-extractor': ^7 + '@rsbuild/core': ^1.0.0 || ^2.0.0-0 + '@typescript/native-preview': 7.x + typescript: ^5 + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@typescript/native-preview': + optional: true + typescript: + optional: true + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -2817,10 +2274,6 @@ packages: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - semver@7.7.4: resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} @@ -2899,10 +2352,6 @@ packages: signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - slash@2.0.0: - resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} - engines: {node: '>=6'} - slash@5.1.0: resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} engines: {node: '>=14.16'} @@ -3078,800 +2527,154 @@ packages: engines: {node: '>= 0.4'} typed-array-byte-offset@1.0.4: - resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.7: - resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} - engines: {node: '>= 0.4'} - - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} - hasBin: true - - unbox-primitive@1.1.0: - resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} - engines: {node: '>= 0.4'} - - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.2.1: - resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.2.0: - resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} - engines: {node: '>=4'} - - unicorn-magic@0.3.0: - resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} - engines: {node: '>=18'} - - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - - update-browserslist-db@1.2.3: - resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - - vscode-languageserver-textdocument@1.0.12: - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - - vscode-uri@3.1.0: - resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - - watchpack@2.5.1: - resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} - engines: {node: '>=10.13.0'} - - webpack-sources@3.3.4: - resolution: {integrity: sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==} - engines: {node: '>=10.13.0'} - - webpack@5.105.4: - resolution: {integrity: sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - - which-boxed-primitive@1.1.1: - resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} - engines: {node: '>= 0.4'} - - which-builtin-type@1.2.1: - resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} - engines: {node: '>= 0.4'} - - which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} - - which-typed-array@1.1.20: - resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} - engines: {node: '>= 0.4'} - - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - xdg-basedir@5.1.0: - resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} - engines: {node: '>=12'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yaml@2.8.2: - resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} - engines: {node: '>= 14.6'} - hasBin: true - -snapshots: - - '@babel/cli@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@jridgewell/trace-mapping': 0.3.31 - commander: 6.2.1 - convert-source-map: 2.0.0 - fs-readdir-recursive: 1.1.0 - glob: 7.2.3 - make-dir: 2.1.0 - slash: 2.0.0 - optionalDependencies: - '@nicolo-ribaudo/chokidar-2': 2.1.8-no-fsevents.3 - chokidar: 3.6.0 - - '@babel/code-frame@7.29.0': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.29.0': {} - - '@babel/core@7.29.0': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.0 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helpers': 7.28.6 - '@babel/parser': 7.29.0 - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - '@jridgewell/remapping': 2.3.5 - convert-source-map: 2.0.0 - debug: 4.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.29.0': - dependencies: - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - - '@babel/helper-annotate-as-pure@7.27.3': - dependencies: - '@babel/types': 7.29.0 - - '@babel/helper-compilation-targets@7.28.6': - dependencies: - '@babel/compat-data': 7.29.0 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.1 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.29.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.4.0 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - debug: 4.4.3 - lodash.debounce: 4.0.8 - resolve: 1.22.11 - transitivePeerDependencies: - - supports-color - - '@babel/helper-globals@7.28.0': {} - - '@babel/helper-member-expression-to-functions@7.28.5': - dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.28.6': - dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.27.1': - dependencies: - '@babel/types': 7.29.0 - - '@babel/helper-plugin-utils@7.28.6': {} - - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-wrap-function': 7.28.6 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': - dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-string-parser@7.27.1': {} - - '@babel/helper-validator-identifier@7.28.5': {} - - '@babel/helper-validator-option@7.27.1': {} - - '@babel/helper-wrap-function@7.28.6': - dependencies: - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.28.6': - dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - - '@babel/parser@7.29.0': - dependencies: - '@babel/types': 7.29.0 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - - '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-async-generator-functions@7.29.0(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0) - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-globals': 7.28.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/template': 7.28.6 - - '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} - '@babel/plugin-transform-explicit-resource-management@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) - transitivePeerDependencies: - - supports-color + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true - '@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} - '@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - '@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} - '@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color + vscode-languageserver-textdocument@1.0.12: + resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - '@babel/plugin-transform-modules-systemjs@7.29.0(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color + vscode-uri@3.1.0: + resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color + watchpack@2.5.1: + resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} + engines: {node: '>=10.13.0'} - '@babel/plugin-transform-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 + webpack-sources@3.3.4: + resolution: {integrity: sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==} + engines: {node: '>=10.13.0'} - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + webpack@5.105.4: + resolution: {integrity: sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true - '@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} - '@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} - '@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) - transitivePeerDependencies: - - supports-color + which-typed-array@1.1.20: + resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} + engines: {node: '>= 0.4'} - '@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true - '@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true - '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} - '@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color + yaml@2.8.2: + resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} + engines: {node: '>= 14.6'} + hasBin: true - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 +snapshots: - '@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@ast-grep/napi-darwin-arm64@0.37.0': + optional: true - '@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 + '@ast-grep/napi-darwin-x64@0.37.0': + optional: true - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@ast-grep/napi-linux-arm64-gnu@0.37.0': + optional: true - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@ast-grep/napi-linux-arm64-musl@0.37.0': + optional: true - '@babel/plugin-transform-spread@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color + '@ast-grep/napi-linux-x64-gnu@0.37.0': + optional: true - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/preset-env@7.29.0(@babel/core@7.29.0)': - dependencies: - '@babel/compat-data': 7.29.0 - '@babel/core': 7.29.0 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.29.0) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0) - '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.0) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-async-generator-functions': 7.29.0(@babel/core@7.29.0) - '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) - '@babel/plugin-transform-dotall-regex': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-explicit-resource-management': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-exponentiation-operator': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-json-strings': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-modules-systemjs': 7.29.0(@babel/core@7.29.0) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) - '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-regenerator': 7.29.0(@babel/core@7.29.0) - '@babel/plugin-transform-regexp-modifiers': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-unicode-property-regex': 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.29.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.0) - babel-plugin-polyfill-corejs2: 0.4.15(@babel/core@7.29.0) - babel-plugin-polyfill-corejs3: 0.14.0(@babel/core@7.29.0) - babel-plugin-polyfill-regenerator: 0.6.6(@babel/core@7.29.0) - core-js-compat: 3.48.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + '@ast-grep/napi-linux-x64-musl@0.37.0': + optional: true - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/types': 7.29.0 - esutils: 2.0.3 + '@ast-grep/napi-win32-arm64-msvc@0.37.0': + optional: true - '@babel/template@7.28.6': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.0 - '@babel/types': 7.29.0 + '@ast-grep/napi-win32-ia32-msvc@0.37.0': + optional: true - '@babel/traverse@7.29.0': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.0 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.0 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color + '@ast-grep/napi-win32-x64-msvc@0.37.0': + optional: true - '@babel/types@7.29.0': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 + '@ast-grep/napi@0.37.0': + optionalDependencies: + '@ast-grep/napi-darwin-arm64': 0.37.0 + '@ast-grep/napi-darwin-x64': 0.37.0 + '@ast-grep/napi-linux-arm64-gnu': 0.37.0 + '@ast-grep/napi-linux-arm64-musl': 0.37.0 + '@ast-grep/napi-linux-x64-gnu': 0.37.0 + '@ast-grep/napi-linux-x64-musl': 0.37.0 + '@ast-grep/napi-win32-arm64-msvc': 0.37.0 + '@ast-grep/napi-win32-ia32-msvc': 0.37.0 + '@ast-grep/napi-win32-x64-msvc': 0.37.0 '@cspell/cspell-bundled-dicts@9.7.0': dependencies: @@ -4313,11 +3116,6 @@ snapshots: '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.31 - '@jridgewell/remapping@2.3.5': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/source-map@0.3.11': @@ -4466,9 +3264,6 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true - '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': - optional: true - '@noble/hashes@1.8.0': {} '@nodelib/fs.scandir@2.1.5': @@ -4496,6 +3291,17 @@ snapshots: transitivePeerDependencies: - '@module-federation/runtime-tools' + '@rslib/core@0.20.0(typescript@5.9.3)': + dependencies: + '@rsbuild/core': 2.0.0-beta.8 + rsbuild-plugin-dts: 0.20.0(@rsbuild/core@2.0.0-beta.8)(typescript@5.9.3) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - '@module-federation/runtime-tools' + - '@typescript/native-preview' + - core-js + '@rspack/binding-darwin-arm64@2.0.0-beta.5': optional: true @@ -4819,12 +3625,6 @@ snapshots: dependencies: color-convert: 1.9.3 - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - optional: true - array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 @@ -4863,39 +3663,12 @@ snapshots: '@fastify/error': 4.2.0 fastq: 1.20.1 - babel-plugin-polyfill-corejs2@0.4.15(@babel/core@7.29.0): - dependencies: - '@babel/compat-data': 7.29.0 - '@babel/core': 7.29.0 - '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.14.0(@babel/core@7.29.0): - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0) - core-js-compat: 3.48.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.6(@babel/core@7.29.0): - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0) - transitivePeerDependencies: - - supports-color - balanced-match@1.0.2: {} baseline-browser-mapping@2.9.18: {} big.js@5.2.2: {} - binary-extensions@2.3.0: - optional: true - body-parser@1.20.4: dependencies: bytes: 3.1.2 @@ -4981,19 +3754,6 @@ snapshots: chalk@5.6.2: {} - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - optional: true - chrome-trace-event@1.0.4: {} clear-module@4.1.2: @@ -5015,8 +3775,6 @@ snapshots: commander@2.20.3: {} - commander@6.2.1: {} - comment-json@4.5.1: dependencies: array-timsort: 1.0.3 @@ -5044,8 +3802,6 @@ snapshots: content-type@1.0.5: {} - convert-source-map@2.0.0: {} - cookie-signature@1.0.7: {} cookie-signature@1.2.2: {} @@ -5061,10 +3817,6 @@ snapshots: depd: 2.0.0 keygrip: 1.1.0 - core-js-compat@3.48.0: - dependencies: - browserslist: 4.28.1 - core-util-is@1.0.3: {} cross-spawn@6.0.6: @@ -5376,8 +4128,6 @@ snapshots: estraverse@5.3.0: {} - esutils@2.0.3: {} - etag@1.8.1: {} events@3.3.0: {} @@ -5601,13 +4351,6 @@ snapshots: fresh@2.0.0: {} - fs-readdir-recursive@1.1.0: {} - - fs.realpath@1.0.0: {} - - fsevents@2.3.3: - optional: true - function-bind@1.1.2: {} function.prototype.name@1.1.8: @@ -5625,8 +4368,6 @@ snapshots: gensequence@8.0.8: {} - gensync@1.0.0-beta.2: {} - get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -5663,15 +4404,6 @@ snapshots: glob-to-regexp@0.4.1: {} - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - global-directory@5.0.0: dependencies: ini: 6.0.0 @@ -5764,11 +4496,6 @@ snapshots: import-meta-resolve@4.2.0: {} - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - inherits@2.0.4: {} ini@6.0.0: {} @@ -5803,11 +4530,6 @@ snapshots: dependencies: has-bigints: 1.1.0 - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - optional: true - is-boolean-object@1.2.2: dependencies: call-bound: 1.0.4 @@ -5918,10 +4640,6 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - js-tokens@4.0.0: {} - - jsesc@3.1.0: {} - json-parse-better-errors@1.0.2: {} json-parse-even-better-errors@2.3.1: {} @@ -5984,17 +4702,6 @@ snapshots: emojis-list: 3.0.0 json5: 2.2.3 - lodash.debounce@4.0.8: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - make-dir@2.1.0: - dependencies: - pify: 4.0.1 - semver: 5.7.2 - math-intrinsics@1.1.0: {} media-typer@0.3.0: {} @@ -6082,9 +4789,6 @@ snapshots: semver: 5.7.2 validate-npm-package-license: 3.0.4 - normalize-path@3.0.0: - optional: true - npm-run-all@4.1.5: dependencies: ansi-styles: 3.2.1 @@ -6155,8 +4859,6 @@ snapshots: parseurl@1.3.3: {} - path-is-absolute@1.0.1: {} - path-key@2.0.1: {} path-key@3.1.1: {} @@ -6183,8 +4885,6 @@ snapshots: pify@3.0.0: {} - pify@4.0.1: {} - pino-abstract-transport@3.0.0: dependencies: split2: 4.2.0 @@ -6252,11 +4952,6 @@ snapshots: normalize-package-data: 2.5.0 path-type: 3.0.0 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - optional: true - real-require@0.2.0: {} reflect.getprototypeof@1.0.10: @@ -6270,12 +4965,6 @@ snapshots: get-proto: 1.0.1 which-builtin-type: 1.2.1 - regenerate-unicode-properties@10.2.2: - dependencies: - regenerate: 1.4.2 - - regenerate@1.4.2: {} - regexp.prototype.flags@1.5.4: dependencies: call-bind: 1.0.8 @@ -6285,21 +4974,6 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 - regexpu-core@6.4.0: - dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.2 - regjsgen: 0.8.0 - regjsparser: 0.13.0 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.1 - - regjsgen@0.8.0: {} - - regjsparser@0.13.0: - dependencies: - jsesc: 3.1.0 - require-from-string@2.0.2: {} resolve-from@4.0.0: {} @@ -6328,6 +5002,13 @@ snapshots: transitivePeerDependencies: - supports-color + rsbuild-plugin-dts@0.20.0(@rsbuild/core@2.0.0-beta.8)(typescript@5.9.3): + dependencies: + '@ast-grep/napi': 0.37.0 + '@rsbuild/core': 2.0.0-beta.8 + optionalDependencies: + typescript: 5.9.3 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -6378,8 +5059,6 @@ snapshots: semver@5.7.2: {} - semver@6.3.1: {} - semver@7.7.4: {} send@0.19.2: @@ -6504,8 +5183,6 @@ snapshots: signal-exit@3.0.7: {} - slash@2.0.0: {} - slash@5.1.0: {} smol-toml@1.6.0: {} @@ -6715,17 +5392,6 @@ snapshots: undici-types@6.21.0: {} - unicode-canonical-property-names-ecmascript@2.0.1: {} - - unicode-match-property-ecmascript@2.0.0: - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.2.0 - - unicode-match-property-value-ecmascript@2.2.1: {} - - unicode-property-aliases-ecmascript@2.2.0: {} - unicorn-magic@0.3.0: {} unpipe@1.0.0: {} @@ -6845,6 +5511,4 @@ snapshots: xdg-basedir@5.1.0: {} - yallist@3.1.1: {} - yaml@2.8.2: {} diff --git a/rstest.config.mjs b/rstest.config.mjs index 1560363..d437a68 100644 --- a/rstest.config.mjs +++ b/rstest.config.mjs @@ -4,6 +4,7 @@ export default defineConfig({ testEnvironment: "node", globals: true, testTimeout: 20000, + retry: 2, include: ["test/**/*.test.js"], exclude: ["**/node_modules/**", "**/dist/**", "**/__snapshots__/**"], globalSetup: ["./scripts/globalSetup.mjs"], diff --git a/src/index.js b/src/index.js index ea63f3d..d4d73a6 100644 --- a/src/index.js +++ b/src/index.js @@ -1,11 +1,11 @@ -const { mimes } = require("mrmime"); +import { mimes } from "mrmime"; -const middleware = require("./middleware"); -const getFilenameFromUrl = require("./utils/getFilenameFromUrl"); -const ready = require("./utils/ready"); -const setupHooks = require("./utils/setupHooks"); -const setupOutputFileSystem = require("./utils/setupOutputFileSystem"); -const setupWriteToDisk = require("./utils/setupWriteToDisk"); +import middleware from "./middleware.js"; +import getFilenameFromUrl from "./utils/getFilenameFromUrl.js"; +import ready from "./utils/ready.js"; +import setupHooks from "./utils/setupHooks.js"; +import setupOutputFileSystem from "./utils/setupOutputFileSystem.js"; +import setupWriteToDisk from "./utils/setupWriteToDisk.js"; const noop = () => {}; @@ -670,4 +670,4 @@ function honoWrapper(compiler, options) { wdm.honoWrapper = honoWrapper; -module.exports = wdm; +export default wdm; diff --git a/src/middleware.js b/src/middleware.js index 733d3d5..cccc73d 100644 --- a/src/middleware.js +++ b/src/middleware.js @@ -1,9 +1,10 @@ -const path = require("node:path"); +import path from "node:path"; -const { lookup, mimes } = require("mrmime"); -const onFinishedStream = require("on-finished"); +import { lookup, mimes } from "mrmime"; +import onFinishedStream from "on-finished"; +import rangeParser from "range-parser"; -const { +import { createReadStreamOrReadFileSync, finish, getHeadersSent, @@ -21,10 +22,13 @@ const { setResponseHeader, setState, setStatusCode, -} = require("./utils/compatibleAPI"); -const getFilenameFromUrl = require("./utils/getFilenameFromUrl"); -const memorize = require("./utils/memorize"); -const ready = require("./utils/ready"); +} from "./utils/compatibleAPI.js"; +import etag from "./utils/etag.js"; +import escapeHtml from "./utils/escapeHtml.js"; +import getFilenameFromUrl from "./utils/getFilenameFromUrl.js"; +import memorize from "./utils/memorize.js"; +import parseTokenList from "./utils/parseTokenList.js"; +import ready from "./utils/ready.js"; /** @typedef {import("./index.js").NextFunction} NextFunction */ /** @typedef {import("./index.js").IncomingMessage} IncomingMessage */ @@ -137,15 +141,15 @@ const parseRangeHeaders = memorize( (value) => { const [len, rangeHeader] = value.split("|"); - return require("range-parser")(Number(len), rangeHeader, { + return rangeParser(Number(len), rangeHeader, { combine: true, }); }, ); -const getETag = memorize(() => require("./utils/etag")); -const getEscapeHtml = memorize(() => require("./utils/escapeHtml")); -const getParseTokenList = memorize(() => require("./utils/parseTokenList")); +const getETag = memorize(() => etag); +const getEscapeHtml = memorize(() => escapeHtml); +const getParseTokenList = memorize(() => parseTokenList); const MAX_MAX_AGE = 31536000000; @@ -910,4 +914,4 @@ function wrapper(context) { }; } -module.exports = wrapper; +export default wrapper; diff --git a/src/utils/compatibleAPI.js b/src/utils/compatibleAPI.js index 350cdf0..f52d865 100644 --- a/src/utils/compatibleAPI.js +++ b/src/utils/compatibleAPI.js @@ -303,7 +303,7 @@ function setState(res, name, value) { (res.locals)[name] = value; } -module.exports = { +export { createReadStreamOrReadFileSync, finish, getHeadersSent, diff --git a/src/utils/escapeHtml.js b/src/utils/escapeHtml.js index 6e168ce..924fd6d 100644 --- a/src/utils/escapeHtml.js +++ b/src/utils/escapeHtml.js @@ -56,4 +56,4 @@ function escapeHtml(string) { return lastIndex !== index ? html + str.substring(lastIndex, index) : html; } -module.exports = escapeHtml; +export default escapeHtml; diff --git a/src/utils/etag.js b/src/utils/etag.js index 2f57452..894be1a 100644 --- a/src/utils/etag.js +++ b/src/utils/etag.js @@ -1,4 +1,4 @@ -const crypto = require("node:crypto"); +import crypto from "node:crypto"; /** @typedef {import("fs").Stats} Stats */ /** @typedef {import("fs").ReadStream} ReadStream */ @@ -77,4 +77,4 @@ async function etag(entity) { : statTag(/** @type {import("fs").Stats} */ (entity)); } -module.exports = etag; +export default etag; diff --git a/src/utils/getFilenameFromUrl.js b/src/utils/getFilenameFromUrl.js index 44c7b7b..a342237 100644 --- a/src/utils/getFilenameFromUrl.js +++ b/src/utils/getFilenameFromUrl.js @@ -1,10 +1,10 @@ -const path = require("node:path"); -const querystring = require("node:querystring"); +import path from "node:path"; +import querystring from "node:querystring"; // eslint-disable-next-line n/no-deprecated-api -const { parse } = require("node:url"); +import { parse } from "node:url"; -const getPaths = require("./getPaths"); -const memorize = require("./memorize"); +import getPaths from "./getPaths.js"; +import memorize from "./memorize.js"; /** @typedef {import("../index.js").IncomingMessage} IncomingMessage */ /** @typedef {import("../index.js").ServerResponse} ServerResponse */ @@ -164,4 +164,4 @@ function getFilenameFromUrl(context, url, extra = {}) { return foundFilename; } -module.exports = getFilenameFromUrl; +export default getFilenameFromUrl; diff --git a/src/utils/getPaths.js b/src/utils/getPaths.js index 1a4177d..adec529 100644 --- a/src/utils/getPaths.js +++ b/src/utils/getPaths.js @@ -57,4 +57,4 @@ function getPaths(context) { return publicPaths; } -module.exports = getPaths; +export default getPaths; diff --git a/src/utils/memorize.js b/src/utils/memorize.js index 2a0ae25..6bd798c 100644 --- a/src/utils/memorize.js +++ b/src/utils/memorize.js @@ -46,4 +46,4 @@ function memorize(fn, { cache = new Map() } = {}, callback = undefined) { return memoized; } -module.exports = memorize; +export default memorize; diff --git a/src/utils/parseTokenList.js b/src/utils/parseTokenList.js index d571bcf..4671f0f 100644 --- a/src/utils/parseTokenList.js +++ b/src/utils/parseTokenList.js @@ -39,4 +39,4 @@ function parseTokenList(str) { return list; } -module.exports = parseTokenList; +export default parseTokenList; diff --git a/src/utils/ready.js b/src/utils/ready.js index a466dd9..c3ddfaf 100644 --- a/src/utils/ready.js +++ b/src/utils/ready.js @@ -23,4 +23,4 @@ function ready(context, callback, req) { context.callbacks.push(callback); } -module.exports = ready; +export default ready; diff --git a/src/utils/setupHooks.js b/src/utils/setupHooks.js index 0643b66..d8bb3d4 100644 --- a/src/utils/setupHooks.js +++ b/src/utils/setupHooks.js @@ -110,4 +110,4 @@ function setupHooks(context) { compiler.hooks.done.tap("webpack-dev-middleware", done); } -module.exports = setupHooks; +export default setupHooks; diff --git a/src/utils/setupOutputFileSystem.js b/src/utils/setupOutputFileSystem.js index 569c6b7..aa8c12b 100644 --- a/src/utils/setupOutputFileSystem.js +++ b/src/utils/setupOutputFileSystem.js @@ -1,4 +1,4 @@ -const memfs = require("memfs"); +import memfs, { Volume, createFsFromVolume } from "memfs"; /** @typedef {import("@rspack/core").MultiCompiler} MultiCompiler */ /** @typedef {import("../index.js").DevServerOption} DevServerOption */ @@ -20,7 +20,21 @@ function setupOutputFileSystem(context) { } // Don't use `memfs` when developer wants to write everything to a disk, because it doesn't make sense. else if (context.options.writeToDisk !== true) { - outputFileSystem = memfs.createFsFromVolume(new memfs.Volume()); + const candidateOutputFileSystem = memfs.createFsFromVolume(new Volume()); + + if ( + candidateOutputFileSystem && + typeof candidateOutputFileSystem.readFileSync === "function" && + typeof candidateOutputFileSystem.statSync === "function" + ) { + outputFileSystem = candidateOutputFileSystem; + } else { + outputFileSystem = createFsFromVolume(new Volume()); + + if (candidateOutputFileSystem) { + Object.assign(outputFileSystem, candidateOutputFileSystem); + } + } } else { const isMultiCompiler = /** @type {MultiCompiler} */ @@ -63,4 +77,4 @@ function setupOutputFileSystem(context) { context.outputFileSystem = outputFileSystem; } -module.exports = setupOutputFileSystem; +export default setupOutputFileSystem; diff --git a/src/utils/setupWriteToDisk.js b/src/utils/setupWriteToDisk.js index fa0ce5d..f6fb87f 100644 --- a/src/utils/setupWriteToDisk.js +++ b/src/utils/setupWriteToDisk.js @@ -1,5 +1,5 @@ -const fs = require("node:fs"); -const path = require("node:path"); +import fs from "node:fs"; +import path from "node:path"; /** @typedef {import("@rspack/core").Compiler} Compiler */ /** @typedef {import("@rspack/core").MultiCompiler} MultiCompiler */ @@ -83,4 +83,4 @@ function setupWriteToDisk(context) { } } -module.exports = setupWriteToDisk; +export default setupWriteToDisk; diff --git a/test/fixtures/foo.js b/test/fixtures/foo.js index 9017bc9..952998c 100644 --- a/test/fixtures/foo.js +++ b/test/fixtures/foo.js @@ -1,6 +1,4 @@ -'use strict'; - -require('./svg.svg'); -require('./index.html'); +import "./svg.svg"; +import "./index.html"; console.log('Hey.'); // eslint-disable-line no-console diff --git a/test/fixtures/webpack.array.config.js b/test/fixtures/webpack.array.config.js index 3c4f6fd..1994d37 100644 --- a/test/fixtures/webpack.array.config.js +++ b/test/fixtures/webpack.array.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = [ +export default [ { mode: 'development', context: path.resolve(__dirname), diff --git a/test/fixtures/webpack.array.dev-server-false.js b/test/fixtures/webpack.array.dev-server-false.js index e23d44a..66d86dc 100644 --- a/test/fixtures/webpack.array.dev-server-false.js +++ b/test/fixtures/webpack.array.dev-server-false.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = [ +export default [ { mode: 'development', context: path.resolve(__dirname), diff --git a/test/fixtures/webpack.array.error.config.js b/test/fixtures/webpack.array.error.config.js index 8539196..5c81a51 100644 --- a/test/fixtures/webpack.array.error.config.js +++ b/test/fixtures/webpack.array.error.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = [ +export default [ { mode: 'development', context: path.resolve(__dirname), diff --git a/test/fixtures/webpack.array.one-error-one-warning-one-no.js b/test/fixtures/webpack.array.one-error-one-warning-one-no.js index ac5eb9e..f7b9945 100644 --- a/test/fixtures/webpack.array.one-error-one-warning-one-no.js +++ b/test/fixtures/webpack.array.one-error-one-warning-one-no.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = [ +export default [ { mode: 'development', context: path.resolve(__dirname), diff --git a/test/fixtures/webpack.array.one-error-one-warning-one-object.js b/test/fixtures/webpack.array.one-error-one-warning-one-object.js index a657cb7..e8408cd 100644 --- a/test/fixtures/webpack.array.one-error-one-warning-one-object.js +++ b/test/fixtures/webpack.array.one-error-one-warning-one-object.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = [ +export default [ { mode: 'development', context: path.resolve(__dirname), diff --git a/test/fixtures/webpack.array.one-error-one-warning-one-success-with-names.js b/test/fixtures/webpack.array.one-error-one-warning-one-success-with-names.js index 482b80c..f436f4c 100644 --- a/test/fixtures/webpack.array.one-error-one-warning-one-success-with-names.js +++ b/test/fixtures/webpack.array.one-error-one-warning-one-success-with-names.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = [ +export default [ { name: "broken", mode: 'development', diff --git a/test/fixtures/webpack.array.one-error-one-warning-one-success.js b/test/fixtures/webpack.array.one-error-one-warning-one-success.js index 180839a..e09e432 100644 --- a/test/fixtures/webpack.array.one-error-one-warning-one-success.js +++ b/test/fixtures/webpack.array.one-error-one-warning-one-success.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = [ +export default [ { mode: 'development', context: path.resolve(__dirname), diff --git a/test/fixtures/webpack.array.warning.config.js b/test/fixtures/webpack.array.warning.config.js index be0a555..8681ac6 100644 --- a/test/fixtures/webpack.array.warning.config.js +++ b/test/fixtures/webpack.array.warning.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = [ +export default [ { mode: 'development', context: path.resolve(__dirname), diff --git a/test/fixtures/webpack.array.watch-options.config.js b/test/fixtures/webpack.array.watch-options.config.js index 425855f..c2bcba7 100644 --- a/test/fixtures/webpack.array.watch-options.config.js +++ b/test/fixtures/webpack.array.watch-options.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = [ +export default [ { mode: 'development', context: path.resolve(__dirname), diff --git a/test/fixtures/webpack.client.server.config.js b/test/fixtures/webpack.client.server.config.js index 2bf1fc1..cfc409e 100644 --- a/test/fixtures/webpack.client.server.config.js +++ b/test/fixtures/webpack.client.server.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = [ +export default [ { mode: 'development', context: path.resolve(__dirname), diff --git a/test/fixtures/webpack.config.js b/test/fixtures/webpack.config.js index 41ab27d..752bc16 100644 --- a/test/fixtures/webpack.config.js +++ b/test/fixtures/webpack.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './foo.js', diff --git a/test/fixtures/webpack.error.config.js b/test/fixtures/webpack.error.config.js index 09864e7..4ec7138 100644 --- a/test/fixtures/webpack.error.config.js +++ b/test/fixtures/webpack.error.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './broken.js', diff --git a/test/fixtures/webpack.immutable.config.js b/test/fixtures/webpack.immutable.config.js index 4d4cdfc..8722b01 100644 --- a/test/fixtures/webpack.immutable.config.js +++ b/test/fixtures/webpack.immutable.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './immutable.js', diff --git a/test/fixtures/webpack.no-stats.config.js b/test/fixtures/webpack.no-stats.config.js index f42057f..3a5da05 100644 --- a/test/fixtures/webpack.no-stats.config.js +++ b/test/fixtures/webpack.no-stats.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './foo.js', diff --git a/test/fixtures/webpack.public-path.config.js b/test/fixtures/webpack.public-path.config.js index 12ba710..7923738 100644 --- a/test/fixtures/webpack.public-path.config.js +++ b/test/fixtures/webpack.public-path.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './foo.js', diff --git a/test/fixtures/webpack.querystring.config.js b/test/fixtures/webpack.querystring.config.js index 705268d..27de92a 100644 --- a/test/fixtures/webpack.querystring.config.js +++ b/test/fixtures/webpack.querystring.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './foo.js', diff --git a/test/fixtures/webpack.simple.config.js b/test/fixtures/webpack.simple.config.js index fd90b4f..a0ed3bb 100644 --- a/test/fixtures/webpack.simple.config.js +++ b/test/fixtures/webpack.simple.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './simple.js', diff --git a/test/fixtures/webpack.stats-colors-false.config.js b/test/fixtures/webpack.stats-colors-false.config.js index 6407a6e..44ff74e 100644 --- a/test/fixtures/webpack.stats-colors-false.config.js +++ b/test/fixtures/webpack.stats-colors-false.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './foo.js', diff --git a/test/fixtures/webpack.stats-colors-true.config.js b/test/fixtures/webpack.stats-colors-true.config.js index 67274f2..aa8fa29 100644 --- a/test/fixtures/webpack.stats-colors-true.config.js +++ b/test/fixtures/webpack.stats-colors-true.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './foo.js', diff --git a/test/fixtures/webpack.stats-false.config.js b/test/fixtures/webpack.stats-false.config.js index bbf3256..97ce922 100644 --- a/test/fixtures/webpack.stats-false.config.js +++ b/test/fixtures/webpack.stats-false.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './foo.js', diff --git a/test/fixtures/webpack.stats-minimal.config.js b/test/fixtures/webpack.stats-minimal.config.js index 81e2ccc..c5393db 100644 --- a/test/fixtures/webpack.stats-minimal.config.js +++ b/test/fixtures/webpack.stats-minimal.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './foo.js', diff --git a/test/fixtures/webpack.stats-none.config.js b/test/fixtures/webpack.stats-none.config.js index ad0dedf..1b5b4be 100644 --- a/test/fixtures/webpack.stats-none.config.js +++ b/test/fixtures/webpack.stats-none.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './foo.js', diff --git a/test/fixtures/webpack.stats-object.config.js b/test/fixtures/webpack.stats-object.config.js index 8f60573..699cc44 100644 --- a/test/fixtures/webpack.stats-object.config.js +++ b/test/fixtures/webpack.stats-object.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './foo.js', diff --git a/test/fixtures/webpack.stats-true.config.js b/test/fixtures/webpack.stats-true.config.js index 30a4255..4846ea5 100644 --- a/test/fixtures/webpack.stats-true.config.js +++ b/test/fixtures/webpack.stats-true.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './foo.js', diff --git a/test/fixtures/webpack.stats-verbose.config.js b/test/fixtures/webpack.stats-verbose.config.js index 30bfe61..fa4e29a 100644 --- a/test/fixtures/webpack.stats-verbose.config.js +++ b/test/fixtures/webpack.stats-verbose.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './foo.js', diff --git a/test/fixtures/webpack.warning.config.js b/test/fixtures/webpack.warning.config.js index a688f6f..0a09ee3 100644 --- a/test/fixtures/webpack.warning.config.js +++ b/test/fixtures/webpack.warning.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './warning.js', diff --git a/test/fixtures/webpack.watch-options.config.js b/test/fixtures/webpack.watch-options.config.js index f438f69..2ba4df7 100644 --- a/test/fixtures/webpack.watch-options.config.js +++ b/test/fixtures/webpack.watch-options.config.js @@ -1,8 +1,8 @@ -'use strict'; +import path from "node:path"; -const path = require('path'); +const __dirname = import.meta.dirname; -module.exports = { +export default { mode: 'development', context: path.resolve(__dirname), entry: './simple.js', diff --git a/test/helpers/getCompiler.js b/test/helpers/getCompiler.js index 3255be0..c4926cd 100644 --- a/test/helpers/getCompiler.js +++ b/test/helpers/getCompiler.js @@ -1,6 +1,6 @@ -const { rspack } = require("@rspack/core"); +import { rspack } from "@rspack/core"; -import defaultConfig from "../fixtures/webpack.config"; +import defaultConfig from "../fixtures/webpack.config.js"; /** @typedef {import("@rspack/core").Configuration} Configuration */ /** @typedef {import("@rspack/core").Compiler} Compiler */ diff --git a/test/helpers/runner.js b/test/helpers/runner.js index a36ffd9..c5a06ba 100755 --- a/test/helpers/runner.js +++ b/test/helpers/runner.js @@ -1,11 +1,11 @@ #!/usr/bin/env node -const merge = require("deepmerge"); -const express = require("express"); -const { rspack } = require("@rspack/core"); +import merge from "deepmerge"; +import express from "express"; +import { rspack } from "@rspack/core"; -const middleware = require("../../dist"); -const defaultConfig = require("../fixtures/webpack.config"); +import middleware from "../../dist/index.js"; +import defaultConfig from "../fixtures/webpack.config.js"; const configEntries = []; const configMiddlewareEntries = []; @@ -33,13 +33,22 @@ fillConfigEntries("WMC_", configMiddlewareEntries); /** * @param {string} name name - * @returns {import("@rspack/core").Configuration | import("@rspack/core").Configuration[]} configuration + * @returns {Promise} configuration */ -function getWebpackConfig(name) { +async function getWebpackConfig(name) { + if (!name) { + return defaultConfig; + } + try { - return require(`../fixtures/${name}`); + const fixtureName = name.endsWith(".js") ? name : `${name}.js`; + const module = await import( + new URL(`../fixtures/${fixtureName}`, import.meta.url) + ); + + return module.default; } catch { - return require("../fixtures/webpack.config"); + return defaultConfig; } } @@ -78,10 +87,11 @@ function createConfig(data) { } const createdConfig = createConfig(configEntries); +const webpackConfig = await getWebpackConfig(process.env.WEBPACK_CONFIG); const unionConfig = Object.keys(createdConfig).length > 0 - ? merge(getWebpackConfig(process.env.WEBPACK_CONFIG), createdConfig) - : getWebpackConfig(process.env.WEBPACK_CONFIG); + ? merge(webpackConfig, createdConfig) + : webpackConfig; const configMiddleware = createConfig(configMiddlewareEntries); const config = unionConfig || defaultConfig; diff --git a/test/middleware.test.js b/test/middleware.test.js index fd72791..e6fd568 100644 --- a/test/middleware.test.js +++ b/test/middleware.test.js @@ -1,8 +1,11 @@ import fs from "node:fs"; +import { createServer } from "node:http"; import path from "node:path"; +import fastifyExpress from "@fastify/express"; import Hapi from "@hapi/hapi"; import { serve } from "@hono/node-server"; +import { Stats } from "@rspack/core"; import connect from "connect"; import express from "express"; import expressOld from "express-4"; @@ -14,25 +17,30 @@ import memfs, { Volume, createFsFromVolume } from "memfs"; import { lookup, mimes } from "mrmime"; import router from "router"; import request from "supertest"; -import { Stats } from "@rspack/core"; -import middleware from "../src"; +import middleware from "../src/index.js"; -import webpackMultiConfig from "./fixtures/webpack.array.config"; -import webpackMultiDevServerFalseConfig from "./fixtures/webpack.array.dev-server-false"; -import webpackMultiWatchOptionsConfig from "./fixtures/webpack.array.watch-options.config"; -import webpackClientServerConfig from "./fixtures/webpack.client.server.config"; -import webpackConfig from "./fixtures/webpack.config"; -import webpackConfigImmutable from "./fixtures/webpack.immutable.config"; -import webpackPublicPathConfig from "./fixtures/webpack.public-path.config"; -import webpackQueryStringConfig from "./fixtures/webpack.querystring.config"; -import webpackWatchOptionsConfig from "./fixtures/webpack.watch-options.config"; -import getCompiler from "./helpers/getCompiler"; +import webpackMultiConfig from "./fixtures/webpack.array.config.js"; +import webpackMultiDevServerFalseConfig from "./fixtures/webpack.array.dev-server-false.js"; +import webpackMultiWatchOptionsConfig from "./fixtures/webpack.array.watch-options.config.js"; +import webpackClientServerConfig from "./fixtures/webpack.client.server.config.js"; +import webpackConfig from "./fixtures/webpack.config.js"; +import webpackConfigImmutable from "./fixtures/webpack.immutable.config.js"; +import webpackPublicPathConfig from "./fixtures/webpack.public-path.config.js"; +import webpackQueryStringConfig from "./fixtures/webpack.querystring.config.js"; +import webpackWatchOptionsConfig from "./fixtures/webpack.watch-options.config.js"; +import getCompiler from "./helpers/getCompiler.js"; -import getCompilerHooks from "./helpers/getCompilerHooks"; +import getCompilerHooks from "./helpers/getCompilerHooks.js"; // Suppress unnecessary stats output -rs.spyOn(globalThis.console, "log").mockImplementation(); +const consoleLogSpy = rs.spyOn(globalThis.console, "log").mockImplementation(); + +const __dirname = import.meta.dirname; + +afterAll(() => { + consoleLogSpy.mockRestore(); +}); const UTF8_CHARSET_MIME_TYPES = new Set([ "application/javascript", @@ -45,11 +53,11 @@ mimes.usdz = "model/vnd.usdz+zip"; async function startServer(name, app) { return new Promise((resolve, reject) => { if (name === "router") { - const server = require("node:http").createServer((req, res) => { + const server = createServer((req, res) => { app(req, res, finalhandler(req, res)); }); - server.listen({ port: 3000 }, (error) => { + server.listen({ port: 0 }, (error) => { if (error) { return reject(error); } @@ -57,9 +65,11 @@ async function startServer(name, app) { return resolve(server); }); } else if (name === "hono") { - const server = serve(app, () => resolve(server)); + const server = serve({ fetch: app.fetch, port: 0 }, () => + resolve(server), + ); } else { - const server = app.listen({ port: 3000 }, (error) => { + const server = app.listen({ port: 0 }, (error) => { if (error) { return reject(error); } @@ -162,7 +172,7 @@ async function frameworkFactory( const app = framework(); if (isFastify) { - await app.register(require("@fastify/express")); + await app.register(fastifyExpress); } const instance = middleware(compiler, devMiddlewareOptions); diff --git a/test/utils/__snapshots__/setupWriteToDisk.test.js.snap b/test/utils/__snapshots__/setupWriteToDisk.test.js.snap index cc23471..14f54c6 100644 --- a/test/utils/__snapshots__/setupWriteToDisk.test.js.snap +++ b/test/utils/__snapshots__/setupWriteToDisk.test.js.snap @@ -19,22 +19,6 @@ exports[`setupWriteToDisk > tries to create directories and write file if not fi ] `; -exports[`setupWriteToDisk > tries to create directories and write file if not filtered out with no write errors 1`] = `[]`; - -exports[`setupWriteToDisk > tries to create directories and write file if not filtered out with no write errors 2`] = ` -[ - [ - "Child "name": Asset written to disk: "/target/path/file"", - ], -] -`; - -exports[`setupWriteToDisk > tries to create directories and write file if not filtered out with no write errors 3`] = ` -[ - [], -] -`; - exports[`setupWriteToDisk > tries to create directories and write file if not filtered out with writeFile error 1`] = ` [ [ diff --git a/test/utils/escapeHtml.test.js b/test/utils/escapeHtml.test.js index f89d579..bc79009 100644 --- a/test/utils/escapeHtml.test.js +++ b/test/utils/escapeHtml.test.js @@ -1,4 +1,4 @@ -import escapeHtml from "../../src/utils/escapeHtml"; +import escapeHtml from "../../src/utils/escapeHtml.js"; describe("escapeHtml", () => { it("should work", () => { diff --git a/test/utils/ready.test.js b/test/utils/ready.test.js index 842b616..964965c 100644 --- a/test/utils/ready.test.js +++ b/test/utils/ready.test.js @@ -1,4 +1,4 @@ -import ready from "../../src/utils/ready"; +import ready from "../../src/utils/ready.js"; describe("ready", () => { it("should call callback if state is true", () => { diff --git a/test/utils/setupHooks.test.js b/test/utils/setupHooks.test.js index 60349df..2164887 100644 --- a/test/utils/setupHooks.test.js +++ b/test/utils/setupHooks.test.js @@ -1,7 +1,4 @@ -import setupHooks from "../../src/utils/setupHooks"; - -// Suppress unnecessary stats output -rs.spyOn(globalThis.console, "log").mockImplementation(); +import setupHooks from "../../src/utils/setupHooks.js"; describe("setupHooks", () => { let context; @@ -12,13 +9,15 @@ describe("setupHooks", () => { const loggerInfo = rs.fn(); const loggerWarn = rs.fn(); const loggerError = rs.fn(); - let nextTick; + let consoleLogSpy; const cb1 = rs.fn(); const cb2 = rs.fn(); beforeEach(() => { - nextTick = rs.spyOn(process, "nextTick").mockImplementation(() => {}); + consoleLogSpy = rs + .spyOn(globalThis.console, "log") + .mockImplementation(() => {}); context = { options: {}, compiler: { @@ -52,7 +51,7 @@ describe("setupHooks", () => { loggerInfo.mockClear(); loggerWarn.mockClear(); loggerError.mockClear(); - nextTick.mockClear(); + consoleLogSpy.mockRestore(); cb1.mockClear(); cb2.mockClear(); }); @@ -92,7 +91,7 @@ describe("setupHooks", () => { expect(loggerLog.mock.calls[0][0]).toBe("Compilation starting..."); }); - it("sets state, then logs stats and handles callbacks on nextTick from done hook", () => { + it("sets state, then logs stats and handles callbacks on nextTick from done hook", async () => { setupHooks(context); doneHook.mock.calls[0][1]({ toString: rs.fn(() => "statsString"), @@ -101,9 +100,8 @@ describe("setupHooks", () => { }); expect(context.stats).toBeTruthy(); expect(context.state).toBeTruthy(); - expect(nextTick).toHaveBeenCalledTimes(1); - nextTick.mock.calls[0][0](); + await new Promise((resolve) => setImmediate(resolve)); expect(loggerInfo.mock.calls).toMatchSnapshot(); expect(loggerError).not.toHaveBeenCalled(); expect(loggerWarn).not.toHaveBeenCalled(); @@ -112,18 +110,17 @@ describe("setupHooks", () => { expect(cb2.mock.calls[0][0]).toEqual(context.stats); }); - it("stops on done if invalidated before nextTick", () => { + it("stops on done if invalidated before nextTick", async () => { setupHooks(context); doneHook.mock.calls[0][1]("stats"); expect(context.stats).toBe("stats"); expect(context.state).toBeTruthy(); - expect(nextTick).toHaveBeenCalledTimes(1); context.state = false; - nextTick.mock.calls[0][0](); + await new Promise((resolve) => setImmediate(resolve)); expect(loggerInfo).not.toHaveBeenCalled(); }); - it("handles multi compiler", () => { + it("handles multi compiler", async () => { context.compiler.compilers = [ { options: { @@ -155,9 +152,8 @@ describe("setupHooks", () => { }); expect(context.stats).toBeTruthy(); expect(context.state).toBeTruthy(); - expect(nextTick).toHaveBeenCalledTimes(1); - nextTick.mock.calls[0][0](); + await new Promise((resolve) => setImmediate(resolve)); expect(loggerInfo.mock.calls).toMatchSnapshot(); expect(loggerError.mock.calls).toMatchSnapshot(); expect(loggerWarn.mock.calls).toMatchSnapshot(); diff --git a/test/utils/setupOutputFileSystem.test.js b/test/utils/setupOutputFileSystem.test.js index 3296cf7..d38dea5 100644 --- a/test/utils/setupOutputFileSystem.test.js +++ b/test/utils/setupOutputFileSystem.test.js @@ -1,18 +1,6 @@ -import memfs from "memfs"; - -import setupOutputFileSystem from "../../src/utils/setupOutputFileSystem"; - -const createFsFromVolume = rs.spyOn(memfs, "createFsFromVolume"); - -createFsFromVolume.mockReturnValue({ - testFs: true, -}); +import setupOutputFileSystem from "../../src/utils/setupOutputFileSystem.js"; describe("setupOutputFileSystem", () => { - afterEach(() => { - createFsFromVolume.mockClear(); - }); - it("should create default fs if not provided", () => { const context = { compiler: { options: {} }, @@ -21,10 +9,11 @@ describe("setupOutputFileSystem", () => { setupOutputFileSystem(context); - // make sure that this is the default fs created - expect(context.compiler.outputFileSystem.testFs).toBeTruthy(); - expect(context.outputFileSystem.testFs).toBeTruthy(); - expect(createFsFromVolume).toHaveBeenCalledTimes(1); + expect(context.compiler.outputFileSystem).toBeTruthy(); + expect(context.outputFileSystem).toBeTruthy(); + expect(context.compiler.outputFileSystem).toBe(context.outputFileSystem); + expect(context.outputFileSystem.readFileSync).toBeTypeOf("function"); + expect(context.outputFileSystem.statSync).toBeTypeOf("function"); }); it("should set fs for multi compiler", () => { diff --git a/test/utils/setupWriteToDisk.test.js b/test/utils/setupWriteToDisk.test.js index 997bd84..fdf65ca 100644 --- a/test/utils/setupWriteToDisk.test.js +++ b/test/utils/setupWriteToDisk.test.js @@ -1,9 +1,8 @@ import fs from "node:fs"; +import os from "node:os"; +import path from "node:path"; -import setupWriteToDisk from "../../src/utils/setupWriteToDisk"; - -const mkdirSpy = rs.spyOn(fs, "mkdir"); -const writeFileSpy = rs.spyOn(fs, "writeFile"); +import setupWriteToDisk from "../../src/utils/setupWriteToDisk.js"; describe("setupWriteToDisk", () => { let context; @@ -38,8 +37,6 @@ describe("setupWriteToDisk", () => { emitHook.mockClear(); assetEmittedHook.mockClear(); getPath.mockClear(); - mkdirSpy.mockClear(); - writeFileSpy.mockClear(); }); const runAssetEmitted = (...args) => { @@ -83,16 +80,9 @@ describe("setupWriteToDisk", () => { expect(filter.mock.calls[0][0]).toBe("targetPath"); // the callback should always be called expect(cb).toHaveBeenCalledTimes(1); - // the filter prevents a directory from being made - expect(mkdirSpy).not.toHaveBeenCalled(); }); const writeErrors = [ - { - title: "with no write errors", - mkdirError: null, - writeFileError: null, - }, { title: "with mkdir error", mkdirError: "error1", @@ -109,47 +99,99 @@ describe("setupWriteToDisk", () => { // eslint-disable-next-line no-loop-func it(`tries to create directories and write file if not filtered out ${writeError.title}`, () => { context.options = {}; - setupWriteToDisk(context); - const cb = rs.fn(); - // webpack@5 info style - runAssetEmitted( - null, - { - compilation: {}, - targetPath: "/target/path/file", - content: "content", - }, - cb, - ); + const mkdirSpy = rs.spyOn(fs, "mkdir"); + const writeFileSpy = rs.spyOn(fs, "writeFile"); + try { + setupWriteToDisk(context); + const cb = rs.fn(); + // webpack@5 info style + runAssetEmitted( + null, + { + compilation: {}, + targetPath: "/target/path/file", + content: "content", + }, + cb, + ); + + // the getPath helper is not needed for webpack@5 + expect(getPath).not.toHaveBeenCalled(); + + expect(mkdirSpy).toHaveBeenCalledTimes(1); + expect(mkdirSpy.mock.calls[0][0]).toBe("/target/path"); + + // simulates the mkdir callback being called + mkdirSpy.mock.calls[0][2](writeError.mkdirError); + + if (writeError.mkdirError) { + expect(writeFileSpy).not.toHaveBeenCalled(); + } else { + expect(writeFileSpy).toHaveBeenCalledTimes(1); + expect(writeFileSpy.mock.calls[0][0]).toBe("/target/path/file"); + expect(writeFileSpy.mock.calls[0][1]).toBe("content"); + + // simulates the writeFile callback being called + writeFileSpy.mock.calls[0][2](writeError.writeFileError); + } + + // expected logs based on errors + expect(context.logger.error.mock.calls).toMatchSnapshot(); + expect(context.logger.log.mock.calls).toMatchSnapshot(); + + // the callback should always be called + expect(cb).toHaveBeenCalledTimes(1); + // no errors are expected + expect(cb.mock.calls).toMatchSnapshot(); + } finally { + mkdirSpy.mockRestore(); + writeFileSpy.mockRestore(); + } + }); + } - // the getPath helper is not needed for webpack@5 - expect(getPath).not.toHaveBeenCalled(); + it("writes the asset to disk when no errors occur", async () => { + context.options = {}; - expect(mkdirSpy).toHaveBeenCalledTimes(1); - expect(mkdirSpy.mock.calls[0][0]).toBe("/target/path"); + setupWriteToDisk(context); - // simulates the mkdir callback being called - mkdirSpy.mock.calls[0][2](writeError.mkdirError); + const tempDir = await fs.promises.mkdtemp( + path.join(os.tmpdir(), "rspack-dev-middleware-"), + ); + const targetPath = path.join(tempDir, "nested/file.txt"); + const cb = rs.fn(); - if (writeError.mkdirError) { - expect(writeFileSpy).not.toHaveBeenCalled(); - } else { - expect(writeFileSpy).toHaveBeenCalledTimes(1); - expect(writeFileSpy.mock.calls[0][0]).toBe("/target/path/file"); - expect(writeFileSpy.mock.calls[0][1]).toBe("content"); + try { + await new Promise((resolve, reject) => { + runAssetEmitted( + null, + { + compilation: {}, + targetPath, + content: "content", + }, + (error) => { + cb(error); - // simulates the writeFile callback being called - writeFileSpy.mock.calls[0][2](writeError.writeFileError); - } + if (error) { + reject(error); + return; + } - // expected logs based on errors - expect(context.logger.error.mock.calls).toMatchSnapshot(); - expect(context.logger.log.mock.calls).toMatchSnapshot(); + resolve(); + }, + ); + }); - // the callback should always be called + expect(await fs.promises.readFile(targetPath, "utf8")).toBe("content"); + expect(context.logger.error).not.toHaveBeenCalled(); + expect(context.logger.log).toHaveBeenCalledWith( + `Child "name": Asset written to disk: "${targetPath}"`, + ); expect(cb).toHaveBeenCalledTimes(1); - // no errors are expected - expect(cb.mock.calls).toMatchSnapshot(); - }); - } + expect(cb.mock.calls[0]).toEqual([undefined]); + } finally { + await fs.promises.rm(tempDir, { recursive: true, force: true }); + } + }); }); diff --git a/types/index.d.ts b/types/index.d.ts index e21a085..3e6da27 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -1,275 +1,11 @@ -export = wdm; -/** @typedef {import("@rspack/core").Compiler} Compiler */ -/** @typedef {import("@rspack/core").MultiCompiler} MultiCompiler */ -/** @typedef {import("@rspack/core").Configuration} Configuration */ -/** @typedef {import("@rspack/core").Stats} Stats */ -/** @typedef {import("@rspack/core").MultiStats} MultiStats */ -/** @typedef {import("fs").ReadStream} ReadStream */ -/** - * @typedef {object} ExtendedServerResponse - * @property {{ webpack?: { devMiddleware?: Context } }=} locals locals - */ -/** @typedef {import("http").IncomingMessage} IncomingMessage */ -/** @typedef {import("http").ServerResponse & ExtendedServerResponse} ServerResponse */ -/** @typedef {any} EXPECTED_ANY */ -/** @typedef {Function} EXPECTED_FUNCTION */ -/** - * @callback NextFunction - * @param {EXPECTED_ANY=} err error - * @returns {void} - */ -/** - * @typedef {NonNullable} WatchOptions - */ -/** - * @typedef {boolean | Configuration["devServer"] | undefined} DevServerOption - */ -/** - * @typedef {Compiler["watching"]} Watching - */ -/** - * @typedef {ReturnType} MultiWatching - */ -/** - * @typedef {import("@rspack/core").OutputFileSystem & { createReadStream?: import("fs").createReadStream, statSync: import("fs").statSync, readFileSync: import("fs").readFileSync }} OutputFileSystem - */ -/** @typedef {ReturnType} Logger */ -/** @typedef {{ close(callback: (err?: Error | null | undefined) => void): void }} ClosableWatching */ -/** - * @callback Callback - * @param {(Stats | MultiStats)=} stats - */ -/** - * @typedef {object} ResponseData - * @property {Buffer | ReadStream} data data - * @property {number} byteLength byte length - */ -/** - * @template {IncomingMessage} [RequestInternal=IncomingMessage] - * @template {ServerResponse} [ResponseInternal=ServerResponse] - * @callback ModifyResponseData - * @param {RequestInternal} req req - * @param {ResponseInternal} res res - * @param {Buffer | ReadStream} data data - * @param {number} byteLength byte length - * @returns {ResponseData} - */ -/** - * @template {IncomingMessage} [RequestInternal=IncomingMessage] - * @template {ServerResponse} [ResponseInternal=ServerResponse] - * @typedef {object} Context - * @property {boolean} state state - * @property {Stats | MultiStats | undefined} stats stats - * @property {Callback[]} callbacks callbacks - * @property {Options} options options - * @property {Compiler | MultiCompiler} compiler compiler - * @property {Watching | MultiWatching | undefined} watching watching - * @property {Logger} logger logger - * @property {OutputFileSystem} outputFileSystem output file system - */ -/** - * @template {IncomingMessage} [RequestInternal=IncomingMessage] - * @template {ServerResponse} [ResponseInternal=ServerResponse] - * @typedef {WithoutUndefined, "watching">} FilledContext - */ -/** @typedef {Record | { key: string, value: number | string }[]} NormalizedHeaders */ -/** - * @template {IncomingMessage} [RequestInternal=IncomingMessage] - * @template {ServerResponse} [ResponseInternal=ServerResponse] - * @typedef {NormalizedHeaders | ((req: RequestInternal, res: ResponseInternal, context: Context) => void | undefined | NormalizedHeaders) | undefined} Headers - */ -/** - * @template {IncomingMessage} [RequestInternal = IncomingMessage] - * @template {ServerResponse} [ResponseInternal = ServerResponse] - * @typedef {object} Options - * @property {{ [key: string]: string }=} mimeTypes mime types - * @property {(string | undefined)=} mimeTypeDefault mime type default - * @property {(boolean | ((targetPath: string) => boolean))=} writeToDisk write to disk - * @property {string[]=} methods methods - * @property {Headers=} headers headers - * @property {NonNullable["publicPath"]=} publicPath public path - * @property {Configuration["stats"]=} stats stats - * @property {boolean=} serverSideRender is server side render - * @property {OutputFileSystem=} outputFileSystem output file system - * @property {(boolean | string)=} index index - * @property {ModifyResponseData=} modifyResponseData modify response data - * @property {"weak" | "strong"=} etag options to generate etag header - * @property {boolean=} lastModified options to generate last modified header - * @property {(boolean | number | string | { maxAge?: number, immutable?: boolean })=} cacheControl options to generate cache headers - * @property {boolean=} cacheImmutable is cache immutable - */ -/** - * @template {IncomingMessage} [RequestInternal=IncomingMessage] - * @template {ServerResponse} [ResponseInternal=ServerResponse] - * @callback Middleware - * @param {RequestInternal} req - * @param {ResponseInternal} res - * @param {NextFunction} next - * @returns {Promise} - */ -/** @typedef {import("./utils/getFilenameFromUrl").Extra} Extra */ -/** - * @callback GetFilenameFromUrl - * @param {string} url - * @param {Extra=} extra - * @returns {string | undefined} - */ -/** - * @callback WaitUntilValid - * @param {Callback} callback - */ -/** - * @callback Invalidate - * @param {Callback} callback - */ -/** - * @callback Close - * @param {(err: Error | null | undefined) => void} callback - */ -/** - * @template {IncomingMessage} RequestInternal - * @template {ServerResponse} ResponseInternal - * @typedef {object} AdditionalMethods - * @property {GetFilenameFromUrl} getFilenameFromUrl get filename from url - * @property {WaitUntilValid} waitUntilValid wait until valid - * @property {Invalidate} invalidate invalidate - * @property {Close} close close - * @property {Context} context context - */ -/** - * @template {IncomingMessage} [RequestInternal=IncomingMessage] - * @template {ServerResponse} [ResponseInternal=ServerResponse] - * @typedef {Middleware & AdditionalMethods} API - */ -/** - * @template T - * @template {keyof T} K - * @typedef {Omit & Partial} WithOptional - */ -/** - * @template T - * @template {keyof T} K - * @typedef {T & { [P in K]: NonNullable }} WithoutUndefined - */ -/** - * @template {IncomingMessage} [RequestInternal=IncomingMessage] - * @template {ServerResponse} [ResponseInternal=ServerResponse] - * @param {Compiler | MultiCompiler} compiler compiler - * @param {Options=} options options - * @returns {API} webpack dev middleware - */ -declare function wdm< - RequestInternal extends IncomingMessage = import("http").IncomingMessage, - ResponseInternal extends ServerResponse = ServerResponse, ->( - compiler: Compiler | MultiCompiler, - options?: Options | undefined, -): API; -declare namespace wdm { - export { - hapiWrapper, - koaWrapper, - honoWrapper, - Compiler, - MultiCompiler, - Configuration, - Stats, - MultiStats, - ReadStream, - ExtendedServerResponse, - IncomingMessage, - ServerResponse, - EXPECTED_ANY, - EXPECTED_FUNCTION, - NextFunction, - WatchOptions, - DevServerOption, - Watching, - MultiWatching, - OutputFileSystem, - Logger, - ClosableWatching, - Callback, - ResponseData, - ModifyResponseData, - Context, - FilledContext, - NormalizedHeaders, - Headers, - Options, - Middleware, - Extra, - GetFilenameFromUrl, - WaitUntilValid, - Invalidate, - Close, - AdditionalMethods, - API, - WithOptional, - WithoutUndefined, - HapiPluginBase, - HapiPlugin, - HapiOptions, - }; -} -/** - * @template S - * @template O - * @typedef {object} HapiPluginBase - * @property {(server: S, options: O) => void | Promise} register register - */ -/** - * @template S - * @template O - * @typedef {HapiPluginBase & { pkg: { name: string }, multiple: boolean }} HapiPlugin - */ -/** - * @typedef {Options & { compiler: Compiler | MultiCompiler }} HapiOptions - */ -/** - * @template HapiServer - * @template {HapiOptions} HapiOptionsInternal - * @returns {HapiPlugin} hapi wrapper - */ -declare function hapiWrapper< - HapiServer, - HapiOptionsInternal extends HapiOptions, ->(): HapiPlugin; -/** - * @template {IncomingMessage} [RequestInternal=IncomingMessage] - * @template {ServerResponse} [ResponseInternal=ServerResponse] - * @param {Compiler | MultiCompiler} compiler compiler - * @param {Options=} options options - * @returns {(ctx: EXPECTED_ANY, next: EXPECTED_FUNCTION) => Promise | void} kow wrapper - */ -declare function koaWrapper< - RequestInternal extends IncomingMessage = import("http").IncomingMessage, - ResponseInternal extends ServerResponse = ServerResponse, ->( - compiler: Compiler | MultiCompiler, - options?: Options | undefined, -): (ctx: EXPECTED_ANY, next: EXPECTED_FUNCTION) => Promise | void; -/** - * @template {IncomingMessage} [RequestInternal=IncomingMessage] - * @template {ServerResponse} [ResponseInternal=ServerResponse] - * @param {Compiler | MultiCompiler} compiler compiler - * @param {Options=} options options - * @returns {(ctx: EXPECTED_ANY, next: EXPECTED_FUNCTION) => Promise | void} hono wrapper - */ -declare function honoWrapper< - RequestInternal extends IncomingMessage = import("http").IncomingMessage, - ResponseInternal extends ServerResponse = ServerResponse, ->( - compiler: Compiler | MultiCompiler, - options?: Options | undefined, -): (ctx: EXPECTED_ANY, next: EXPECTED_FUNCTION) => Promise | void; -type Compiler = import("@rspack/core").Compiler; -type MultiCompiler = import("@rspack/core").MultiCompiler; -type Configuration = import("@rspack/core").Configuration; -type Stats = import("@rspack/core").Stats; -type MultiStats = import("@rspack/core").MultiStats; -type ReadStream = import("fs").ReadStream; -type ExtendedServerResponse = { +export default wdm; +export type Compiler = import("@rspack/core").Compiler; +export type MultiCompiler = import("@rspack/core").MultiCompiler; +export type Configuration = import("@rspack/core").Configuration; +export type Stats = import("@rspack/core").Stats; +export type MultiStats = import("@rspack/core").MultiStats; +export type ReadStream = import("fs").ReadStream; +export type ExtendedServerResponse = { /** * locals */ @@ -281,26 +17,27 @@ type ExtendedServerResponse = { } | undefined; }; -type IncomingMessage = import("http").IncomingMessage; -type ServerResponse = import("http").ServerResponse & ExtendedServerResponse; -type EXPECTED_ANY = any; -type EXPECTED_FUNCTION = Function; -type NextFunction = (err?: EXPECTED_ANY | undefined) => void; -type WatchOptions = NonNullable; -type DevServerOption = boolean | Configuration["devServer"] | undefined; -type Watching = Compiler["watching"]; -type MultiWatching = ReturnType; -type OutputFileSystem = import("@rspack/core").OutputFileSystem & { +export type IncomingMessage = import("http").IncomingMessage; +export type ServerResponse = import("http").ServerResponse & + ExtendedServerResponse; +export type EXPECTED_ANY = any; +export type EXPECTED_FUNCTION = Function; +export type NextFunction = (err?: EXPECTED_ANY | undefined) => void; +export type WatchOptions = NonNullable; +export type DevServerOption = boolean | Configuration["devServer"] | undefined; +export type Watching = Compiler["watching"]; +export type MultiWatching = ReturnType; +export type OutputFileSystem = import("@rspack/core").OutputFileSystem & { createReadStream?: typeof import("fs").createReadStream; statSync: import("fs").StatSyncFn; readFileSync: typeof import("fs").readFileSync; }; -type Logger = ReturnType; -type ClosableWatching = { +export type Logger = ReturnType; +export type ClosableWatching = { close(callback: (err?: Error | null | undefined) => void): void; }; -type Callback = (stats?: (Stats | MultiStats) | undefined) => any; -type ResponseData = { +export type Callback = (stats?: (Stats | MultiStats) | undefined) => any; +export type ResponseData = { /** * data */ @@ -310,7 +47,7 @@ type ResponseData = { */ byteLength: number; }; -type ModifyResponseData< +export type ModifyResponseData< RequestInternal extends IncomingMessage = import("http").IncomingMessage, ResponseInternal extends ServerResponse = ServerResponse, > = ( @@ -319,7 +56,7 @@ type ModifyResponseData< data: Buffer | ReadStream, byteLength: number, ) => ResponseData; -type Context< +export type Context< RequestInternal extends IncomingMessage = import("http").IncomingMessage, ResponseInternal extends ServerResponse = ServerResponse, > = { @@ -356,17 +93,17 @@ type Context< */ outputFileSystem: OutputFileSystem; }; -type FilledContext< +export type FilledContext< RequestInternal extends IncomingMessage = import("http").IncomingMessage, ResponseInternal extends ServerResponse = ServerResponse, > = WithoutUndefined, "watching">; -type NormalizedHeaders = +export type NormalizedHeaders = | Record | { key: string; value: number | string; }[]; -type Headers< +export type Headers< RequestInternal extends IncomingMessage = import("http").IncomingMessage, ResponseInternal extends ServerResponse = ServerResponse, > = @@ -377,7 +114,7 @@ type Headers< context: Context, ) => void | undefined | NormalizedHeaders) | undefined; -type Options< +export type Options< RequestInternal extends IncomingMessage = import("http").IncomingMessage, ResponseInternal extends ServerResponse = ServerResponse, > = { @@ -458,7 +195,7 @@ type Options< */ cacheImmutable?: boolean | undefined; }; -type Middleware< +export type Middleware< RequestInternal extends IncomingMessage = import("http").IncomingMessage, ResponseInternal extends ServerResponse = ServerResponse, > = ( @@ -466,15 +203,15 @@ type Middleware< res: ResponseInternal, next: NextFunction, ) => Promise; -type Extra = import("./utils/getFilenameFromUrl").Extra; -type GetFilenameFromUrl = ( +export type Extra = import("./utils/getFilenameFromUrl").Extra; +export type GetFilenameFromUrl = ( url: string, extra?: Extra | undefined, ) => string | undefined; -type WaitUntilValid = (callback: Callback) => any; -type Invalidate = (callback: Callback) => any; -type Close = (callback: (err: Error | null | undefined) => void) => any; -type AdditionalMethods< +export type WaitUntilValid = (callback: Callback) => any; +export type Invalidate = (callback: Callback) => any; +export type Close = (callback: (err: Error | null | undefined) => void) => any; +export type AdditionalMethods< RequestInternal extends IncomingMessage, ResponseInternal extends ServerResponse, > = { @@ -499,27 +236,249 @@ type AdditionalMethods< */ context: Context; }; -type API< +export type API< RequestInternal extends IncomingMessage = import("http").IncomingMessage, ResponseInternal extends ServerResponse = ServerResponse, > = Middleware & AdditionalMethods; -type WithOptional = Omit & Partial; -type WithoutUndefined = T & { +export type WithOptional = Omit & Partial; +export type WithoutUndefined = T & { [P in K]: NonNullable; }; -type HapiPluginBase = { +export type HapiPluginBase = { /** * register */ register: (server: S, options: O) => void | Promise; }; -type HapiPlugin = HapiPluginBase & { +export type HapiPlugin = HapiPluginBase & { pkg: { name: string; }; multiple: boolean; }; -type HapiOptions = Options & { +export type HapiOptions = Options & { compiler: Compiler | MultiCompiler; }; +/** @typedef {import("@rspack/core").Compiler} Compiler */ +/** @typedef {import("@rspack/core").MultiCompiler} MultiCompiler */ +/** @typedef {import("@rspack/core").Configuration} Configuration */ +/** @typedef {import("@rspack/core").Stats} Stats */ +/** @typedef {import("@rspack/core").MultiStats} MultiStats */ +/** @typedef {import("fs").ReadStream} ReadStream */ +/** + * @typedef {object} ExtendedServerResponse + * @property {{ webpack?: { devMiddleware?: Context } }=} locals locals + */ +/** @typedef {import("http").IncomingMessage} IncomingMessage */ +/** @typedef {import("http").ServerResponse & ExtendedServerResponse} ServerResponse */ +/** @typedef {any} EXPECTED_ANY */ +/** @typedef {Function} EXPECTED_FUNCTION */ +/** + * @callback NextFunction + * @param {EXPECTED_ANY=} err error + * @returns {void} + */ +/** + * @typedef {NonNullable} WatchOptions + */ +/** + * @typedef {boolean | Configuration["devServer"] | undefined} DevServerOption + */ +/** + * @typedef {Compiler["watching"]} Watching + */ +/** + * @typedef {ReturnType} MultiWatching + */ +/** + * @typedef {import("@rspack/core").OutputFileSystem & { createReadStream?: import("fs").createReadStream, statSync: import("fs").statSync, readFileSync: import("fs").readFileSync }} OutputFileSystem + */ +/** @typedef {ReturnType} Logger */ +/** @typedef {{ close(callback: (err?: Error | null | undefined) => void): void }} ClosableWatching */ +/** + * @callback Callback + * @param {(Stats | MultiStats)=} stats + */ +/** + * @typedef {object} ResponseData + * @property {Buffer | ReadStream} data data + * @property {number} byteLength byte length + */ +/** + * @template {IncomingMessage} [RequestInternal=IncomingMessage] + * @template {ServerResponse} [ResponseInternal=ServerResponse] + * @callback ModifyResponseData + * @param {RequestInternal} req req + * @param {ResponseInternal} res res + * @param {Buffer | ReadStream} data data + * @param {number} byteLength byte length + * @returns {ResponseData} + */ +/** + * @template {IncomingMessage} [RequestInternal=IncomingMessage] + * @template {ServerResponse} [ResponseInternal=ServerResponse] + * @typedef {object} Context + * @property {boolean} state state + * @property {Stats | MultiStats | undefined} stats stats + * @property {Callback[]} callbacks callbacks + * @property {Options} options options + * @property {Compiler | MultiCompiler} compiler compiler + * @property {Watching | MultiWatching | undefined} watching watching + * @property {Logger} logger logger + * @property {OutputFileSystem} outputFileSystem output file system + */ +/** + * @template {IncomingMessage} [RequestInternal=IncomingMessage] + * @template {ServerResponse} [ResponseInternal=ServerResponse] + * @typedef {WithoutUndefined, "watching">} FilledContext + */ +/** @typedef {Record | { key: string, value: number | string }[]} NormalizedHeaders */ +/** + * @template {IncomingMessage} [RequestInternal=IncomingMessage] + * @template {ServerResponse} [ResponseInternal=ServerResponse] + * @typedef {NormalizedHeaders | ((req: RequestInternal, res: ResponseInternal, context: Context) => void | undefined | NormalizedHeaders) | undefined} Headers + */ +/** + * @template {IncomingMessage} [RequestInternal = IncomingMessage] + * @template {ServerResponse} [ResponseInternal = ServerResponse] + * @typedef {object} Options + * @property {{ [key: string]: string }=} mimeTypes mime types + * @property {(string | undefined)=} mimeTypeDefault mime type default + * @property {(boolean | ((targetPath: string) => boolean))=} writeToDisk write to disk + * @property {string[]=} methods methods + * @property {Headers=} headers headers + * @property {NonNullable["publicPath"]=} publicPath public path + * @property {Configuration["stats"]=} stats stats + * @property {boolean=} serverSideRender is server side render + * @property {OutputFileSystem=} outputFileSystem output file system + * @property {(boolean | string)=} index index + * @property {ModifyResponseData=} modifyResponseData modify response data + * @property {"weak" | "strong"=} etag options to generate etag header + * @property {boolean=} lastModified options to generate last modified header + * @property {(boolean | number | string | { maxAge?: number, immutable?: boolean })=} cacheControl options to generate cache headers + * @property {boolean=} cacheImmutable is cache immutable + */ +/** + * @template {IncomingMessage} [RequestInternal=IncomingMessage] + * @template {ServerResponse} [ResponseInternal=ServerResponse] + * @callback Middleware + * @param {RequestInternal} req + * @param {ResponseInternal} res + * @param {NextFunction} next + * @returns {Promise} + */ +/** @typedef {import("./utils/getFilenameFromUrl").Extra} Extra */ +/** + * @callback GetFilenameFromUrl + * @param {string} url + * @param {Extra=} extra + * @returns {string | undefined} + */ +/** + * @callback WaitUntilValid + * @param {Callback} callback + */ +/** + * @callback Invalidate + * @param {Callback} callback + */ +/** + * @callback Close + * @param {(err: Error | null | undefined) => void} callback + */ +/** + * @template {IncomingMessage} RequestInternal + * @template {ServerResponse} ResponseInternal + * @typedef {object} AdditionalMethods + * @property {GetFilenameFromUrl} getFilenameFromUrl get filename from url + * @property {WaitUntilValid} waitUntilValid wait until valid + * @property {Invalidate} invalidate invalidate + * @property {Close} close close + * @property {Context} context context + */ +/** + * @template {IncomingMessage} [RequestInternal=IncomingMessage] + * @template {ServerResponse} [ResponseInternal=ServerResponse] + * @typedef {Middleware & AdditionalMethods} API + */ +/** + * @template T + * @template {keyof T} K + * @typedef {Omit & Partial} WithOptional + */ +/** + * @template T + * @template {keyof T} K + * @typedef {T & { [P in K]: NonNullable }} WithoutUndefined + */ +/** + * @template {IncomingMessage} [RequestInternal=IncomingMessage] + * @template {ServerResponse} [ResponseInternal=ServerResponse] + * @param {Compiler | MultiCompiler} compiler compiler + * @param {Options=} options options + * @returns {API} webpack dev middleware + */ +declare function wdm< + RequestInternal extends IncomingMessage = import("http").IncomingMessage, + ResponseInternal extends ServerResponse = ServerResponse, +>( + compiler: Compiler | MultiCompiler, + options?: Options | undefined, +): API; +declare namespace wdm { + export { hapiWrapper }; + export { koaWrapper }; + export { honoWrapper }; +} +/** + * @template S + * @template O + * @typedef {object} HapiPluginBase + * @property {(server: S, options: O) => void | Promise} register register + */ +/** + * @template S + * @template O + * @typedef {HapiPluginBase & { pkg: { name: string }, multiple: boolean }} HapiPlugin + */ +/** + * @typedef {Options & { compiler: Compiler | MultiCompiler }} HapiOptions + */ +/** + * @template HapiServer + * @template {HapiOptions} HapiOptionsInternal + * @returns {HapiPlugin} hapi wrapper + */ +declare function hapiWrapper< + HapiServer, + HapiOptionsInternal extends HapiOptions, +>(): HapiPlugin; +/** + * @template {IncomingMessage} [RequestInternal=IncomingMessage] + * @template {ServerResponse} [ResponseInternal=ServerResponse] + * @param {Compiler | MultiCompiler} compiler compiler + * @param {Options=} options options + * @returns {(ctx: EXPECTED_ANY, next: EXPECTED_FUNCTION) => Promise | void} kow wrapper + */ +declare function koaWrapper< + RequestInternal extends IncomingMessage = import("http").IncomingMessage, + ResponseInternal extends ServerResponse = ServerResponse, +>( + compiler: Compiler | MultiCompiler, + options?: Options | undefined, +): (ctx: EXPECTED_ANY, next: EXPECTED_FUNCTION) => Promise | void; +/** + * @template {IncomingMessage} [RequestInternal=IncomingMessage] + * @template {ServerResponse} [ResponseInternal=ServerResponse] + * @param {Compiler | MultiCompiler} compiler compiler + * @param {Options=} options options + * @returns {(ctx: EXPECTED_ANY, next: EXPECTED_FUNCTION) => Promise | void} hono wrapper + */ +declare function honoWrapper< + RequestInternal extends IncomingMessage = import("http").IncomingMessage, + ResponseInternal extends ServerResponse = ServerResponse, +>( + compiler: Compiler | MultiCompiler, + options?: Options | undefined, +): (ctx: EXPECTED_ANY, next: EXPECTED_FUNCTION) => Promise | void; diff --git a/types/middleware.d.ts b/types/middleware.d.ts index cce5820..b8ee76d 100644 --- a/types/middleware.d.ts +++ b/types/middleware.d.ts @@ -1,4 +1,27 @@ -export = wrapper; +export default wrapper; +/** + * send error options + */ +export type SendErrorOptions< + Request extends IncomingMessage, + Response extends ServerResponse, +> = { + /** + * headers + */ + headers?: Record | undefined; + /** + * modify response data callback + */ + modifyResponseData?: + | import("./index").ModifyResponseData + | undefined; +}; +export type NextFunction = import("./index.js").NextFunction; +export type IncomingMessage = import("./index.js").IncomingMessage; +export type ServerResponse = import("./index.js").ServerResponse; +export type NormalizedHeaders = import("./index.js").NormalizedHeaders; +export type ReadStream = import("fs").ReadStream; /** * @template {IncomingMessage} Request * @template {ServerResponse} Response @@ -18,36 +41,3 @@ declare function wrapper< >( context: import("./index.js").FilledContext, ): import("./index.js").Middleware; -declare namespace wrapper { - export { - SendErrorOptions, - NextFunction, - IncomingMessage, - ServerResponse, - NormalizedHeaders, - ReadStream, - }; -} -/** - * send error options - */ -type SendErrorOptions< - Request extends IncomingMessage, - Response extends ServerResponse, -> = { - /** - * headers - */ - headers?: Record | undefined; - /** - * modify response data callback - */ - modifyResponseData?: - | import("./index").ModifyResponseData - | undefined; -}; -type NextFunction = import("./index.js").NextFunction; -type IncomingMessage = import("./index.js").IncomingMessage; -type ServerResponse = import("./index.js").ServerResponse; -type NormalizedHeaders = import("./index.js").NormalizedHeaders; -type ReadStream = import("fs").ReadStream; diff --git a/types/utils/escapeHtml.d.ts b/types/utils/escapeHtml.d.ts index f7982bd..57b074b 100644 --- a/types/utils/escapeHtml.d.ts +++ b/types/utils/escapeHtml.d.ts @@ -1,4 +1,4 @@ -export = escapeHtml; +export default escapeHtml; /** * @param {string} string raw HTML * @returns {string} escaped HTML diff --git a/types/utils/etag.d.ts b/types/utils/etag.d.ts index 7ca5f30..a333e9a 100644 --- a/types/utils/etag.d.ts +++ b/types/utils/etag.d.ts @@ -1,4 +1,6 @@ -export = etag; +export default etag; +export type Stats = import("fs").Stats; +export type ReadStream = import("fs").ReadStream; /** * Create a simple ETag. * @param {Buffer | ReadStream | Stats} entity entity @@ -8,8 +10,3 @@ declare function etag(entity: Buffer | ReadStream | Stats): Promise<{ hash: string; buffer?: Buffer; }>; -declare namespace etag { - export { Stats, ReadStream }; -} -type Stats = import("fs").Stats; -type ReadStream = import("fs").ReadStream; diff --git a/types/utils/getFilenameFromUrl.d.ts b/types/utils/getFilenameFromUrl.d.ts index be28a0a..55c0c3b 100644 --- a/types/utils/getFilenameFromUrl.d.ts +++ b/types/utils/getFilenameFromUrl.d.ts @@ -1,4 +1,20 @@ -export = getFilenameFromUrl; +export default getFilenameFromUrl; +export type IncomingMessage = import("../index.js").IncomingMessage; +export type ServerResponse = import("../index.js").ServerResponse; +export type Extra = { + /** + * stats + */ + stats?: import("fs").Stats | undefined; + /** + * error code + */ + errorCode?: number | undefined; + /** + * true when immutable, otherwise false + */ + immutable?: boolean | undefined; +}; /** * @typedef {object} Extra * @property {import("fs").Stats=} stats stats @@ -28,22 +44,3 @@ declare function getFilenameFromUrl< url: string, extra?: Extra | undefined, ): string | undefined; -declare namespace getFilenameFromUrl { - export { IncomingMessage, ServerResponse, Extra }; -} -type IncomingMessage = import("../index.js").IncomingMessage; -type ServerResponse = import("../index.js").ServerResponse; -type Extra = { - /** - * stats - */ - stats?: import("fs").Stats | undefined; - /** - * error code - */ - errorCode?: number | undefined; - /** - * true when immutable, otherwise false - */ - immutable?: boolean | undefined; -}; diff --git a/types/utils/getPaths.d.ts b/types/utils/getPaths.d.ts index d6d3972..9128e0b 100644 --- a/types/utils/getPaths.d.ts +++ b/types/utils/getPaths.d.ts @@ -1,4 +1,11 @@ -export = getPaths; +export default getPaths; +export type Compiler = import("@rspack/core").Compiler; +export type Stats = import("@rspack/core").Stats; +export type MultiStats = import("@rspack/core").MultiStats; +export type Asset = import("@rspack/core").Asset; +export type DevServerOption = import("../index.js").DevServerOption; +export type IncomingMessage = import("../index.js").IncomingMessage; +export type ServerResponse = import("../index.js").ServerResponse; /** @typedef {import("@rspack/core").Compiler} Compiler */ /** @typedef {import("@rspack/core").Stats} Stats */ /** @typedef {import("@rspack/core").MultiStats} MultiStats */ @@ -22,21 +29,3 @@ declare function getPaths< publicPath: string; assetsInfo: Map | undefined; }[]; -declare namespace getPaths { - export { - Compiler, - Stats, - MultiStats, - Asset, - DevServerOption, - IncomingMessage, - ServerResponse, - }; -} -type Compiler = import("@rspack/core").Compiler; -type Stats = import("@rspack/core").Stats; -type MultiStats = import("@rspack/core").MultiStats; -type Asset = import("@rspack/core").Asset; -type DevServerOption = import("../index.js").DevServerOption; -type IncomingMessage = import("../index.js").IncomingMessage; -type ServerResponse = import("../index.js").ServerResponse; diff --git a/types/utils/memorize.d.ts b/types/utils/memorize.d.ts index 3f75ab5..8bedea7 100644 --- a/types/utils/memorize.d.ts +++ b/types/utils/memorize.d.ts @@ -1,4 +1,6 @@ -export = memorize; +export default memorize; +export type FunctionReturning = (...args: EXPECTED_ANY) => T; +export type EXPECTED_ANY = import("../index").EXPECTED_ANY; /** * @template T * @typedef {(...args: EXPECTED_ANY) => T} FunctionReturning @@ -29,8 +31,3 @@ declare function memorize( | undefined, callback?: ((value: T) => T) | undefined, ): FunctionReturning; -declare namespace memorize { - export { FunctionReturning, EXPECTED_ANY }; -} -type FunctionReturning = (...args: EXPECTED_ANY) => T; -type EXPECTED_ANY = import("../index").EXPECTED_ANY; diff --git a/types/utils/parseTokenList.d.ts b/types/utils/parseTokenList.d.ts index 7fa8d56..b14cf2f 100644 --- a/types/utils/parseTokenList.d.ts +++ b/types/utils/parseTokenList.d.ts @@ -1,4 +1,4 @@ -export = parseTokenList; +export default parseTokenList; /** * Parse a HTTP token list. * @param {string} str str diff --git a/types/utils/ready.d.ts b/types/utils/ready.d.ts index a09f620..69d45f2 100644 --- a/types/utils/ready.d.ts +++ b/types/utils/ready.d.ts @@ -1,4 +1,7 @@ -export = ready; +export default ready; +export type IncomingMessage = import("../index.js").IncomingMessage; +export type ServerResponse = import("../index.js").ServerResponse; +export type Callback = import("../index.js").Callback; /** @typedef {import("../index.js").IncomingMessage} IncomingMessage */ /** @typedef {import("../index.js").ServerResponse} ServerResponse */ /** @typedef {import("../index.js").Callback} Callback */ @@ -18,9 +21,3 @@ declare function ready< callback: Callback, req?: Request | undefined, ): void; -declare namespace ready { - export { IncomingMessage, ServerResponse, Callback }; -} -type IncomingMessage = import("../index.js").IncomingMessage; -type ServerResponse = import("../index.js").ServerResponse; -type Callback = import("../index.js").Callback; diff --git a/types/utils/setupHooks.d.ts b/types/utils/setupHooks.d.ts index 173cff1..5b1a14a 100644 --- a/types/utils/setupHooks.d.ts +++ b/types/utils/setupHooks.d.ts @@ -1,4 +1,19 @@ -export = setupHooks; +export default setupHooks; +export type Configuration = import("@rspack/core").Configuration; +export type Compiler = import("@rspack/core").Compiler; +export type MultiCompiler = import("@rspack/core").MultiCompiler; +export type Stats = import("@rspack/core").Stats; +export type MultiStats = import("@rspack/core").MultiStats; +export type IncomingMessage = import("../index.js").IncomingMessage; +export type ServerResponse = import("../index.js").ServerResponse; +export type StatsOptions = Configuration["stats"]; +export type MultiStatsOptions = { + children: Configuration["stats"][]; +}; +export type StatsObjectOptions = Exclude< + Configuration["stats"], + boolean | string | undefined +>; /** @typedef {import("@rspack/core").Configuration} Configuration */ /** @typedef {import("@rspack/core").Compiler} Compiler */ /** @typedef {import("@rspack/core").MultiCompiler} MultiCompiler */ @@ -23,32 +38,3 @@ declare function setupHooks< "watching" | "outputFileSystem" >, ): void; -declare namespace setupHooks { - export { - Configuration, - Compiler, - MultiCompiler, - Stats, - MultiStats, - IncomingMessage, - ServerResponse, - StatsOptions, - MultiStatsOptions, - StatsObjectOptions, - }; -} -type Configuration = import("@rspack/core").Configuration; -type Compiler = import("@rspack/core").Compiler; -type MultiCompiler = import("@rspack/core").MultiCompiler; -type Stats = import("@rspack/core").Stats; -type MultiStats = import("@rspack/core").MultiStats; -type IncomingMessage = import("../index.js").IncomingMessage; -type ServerResponse = import("../index.js").ServerResponse; -type StatsOptions = Configuration["stats"]; -type MultiStatsOptions = { - children: Configuration["stats"][]; -}; -type StatsObjectOptions = Exclude< - Configuration["stats"], - boolean | string | undefined ->; diff --git a/types/utils/setupOutputFileSystem.d.ts b/types/utils/setupOutputFileSystem.d.ts index 2bd3765..5ae35ca 100644 --- a/types/utils/setupOutputFileSystem.d.ts +++ b/types/utils/setupOutputFileSystem.d.ts @@ -1,4 +1,8 @@ -export = setupOutputFileSystem; +export default setupOutputFileSystem; +export type MultiCompiler = import("@rspack/core").MultiCompiler; +export type DevServerOption = import("../index.js").DevServerOption; +export type IncomingMessage = import("../index.js").IncomingMessage; +export type ServerResponse = import("../index.js").ServerResponse; /** @typedef {import("@rspack/core").MultiCompiler} MultiCompiler */ /** @typedef {import("../index.js").DevServerOption} DevServerOption */ /** @typedef {import("../index.js").IncomingMessage} IncomingMessage */ @@ -17,10 +21,3 @@ declare function setupOutputFileSystem< "watching" | "outputFileSystem" >, ): void; -declare namespace setupOutputFileSystem { - export { MultiCompiler, DevServerOption, IncomingMessage, ServerResponse }; -} -type MultiCompiler = import("@rspack/core").MultiCompiler; -type DevServerOption = import("../index.js").DevServerOption; -type IncomingMessage = import("../index.js").IncomingMessage; -type ServerResponse = import("../index.js").ServerResponse; diff --git a/types/utils/setupWriteToDisk.d.ts b/types/utils/setupWriteToDisk.d.ts index c692727..5ffc520 100644 --- a/types/utils/setupWriteToDisk.d.ts +++ b/types/utils/setupWriteToDisk.d.ts @@ -1,4 +1,10 @@ -export = setupWriteToDisk; +export default setupWriteToDisk; +export type Compiler = import("@rspack/core").Compiler; +export type MultiCompiler = import("@rspack/core").MultiCompiler; +export type Compilation = import("@rspack/core").Compilation; +export type DevServerOption = import("../index.js").DevServerOption; +export type IncomingMessage = import("../index.js").IncomingMessage; +export type ServerResponse = import("../index.js").ServerResponse; /** @typedef {import("@rspack/core").Compiler} Compiler */ /** @typedef {import("@rspack/core").MultiCompiler} MultiCompiler */ /** @typedef {import("@rspack/core").Compilation} Compilation */ @@ -19,19 +25,3 @@ declare function setupWriteToDisk< "watching" | "outputFileSystem" >, ): void; -declare namespace setupWriteToDisk { - export { - Compiler, - MultiCompiler, - Compilation, - DevServerOption, - IncomingMessage, - ServerResponse, - }; -} -type Compiler = import("@rspack/core").Compiler; -type MultiCompiler = import("@rspack/core").MultiCompiler; -type Compilation = import("@rspack/core").Compilation; -type DevServerOption = import("../index.js").DevServerOption; -type IncomingMessage = import("../index.js").IncomingMessage; -type ServerResponse = import("../index.js").ServerResponse;