From 41e5a31365ae71918f253b6f8322db3e73175138 Mon Sep 17 00:00:00 2001 From: Manuel Leduc Date: Tue, 13 Feb 2024 10:27:07 +0100 Subject: [PATCH 1/4] PNPM Experiment --- .gitignore | 4 + pnpm-lock.yaml | 1026 +++++++++++++++++ pnpm-workspace.yaml | 2 + pom.xml | 5 + xwiki-platform-core/pom.xml | 2 + .../xwiki-platform-lib-a/pom.xml | 36 + .../src/main/node/lib/main.ts | 3 + .../src/main/node/package.json | 18 + .../src/main/node/tsconfig.json | 6 + .../src/main/node/vite.config.js | 11 + .../xwiki-platform-lib-b/pom.xml | 44 + .../src/main/node/lib/main.ts | 3 + .../src/main/node/package.json | 29 + .../src/main/node/tsconfig.json | 6 + .../src/main/node/vite.config.js | 11 + xwiki-platform-tools/pom.xml | 1 + .../xwiki-platform-tool-node/pom.xml | 17 + .../xwiki-platform-tool-node-tsconfig/pom.xml | 12 + .../src/main/node/package.json | 7 + .../src/main/node/tsconfig.json | 115 ++ .../pom.xml | 12 + .../src/main/node/package.json | 13 + .../src/main/node/vite.config.js | 20 + 23 files changed, 1403 insertions(+) create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml create mode 100644 xwiki-platform-core/xwiki-platform-lib-a/pom.xml create mode 100644 xwiki-platform-core/xwiki-platform-lib-a/src/main/node/lib/main.ts create mode 100644 xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json create mode 100644 xwiki-platform-core/xwiki-platform-lib-a/src/main/node/tsconfig.json create mode 100644 xwiki-platform-core/xwiki-platform-lib-a/src/main/node/vite.config.js create mode 100644 xwiki-platform-core/xwiki-platform-lib-b/pom.xml create mode 100644 xwiki-platform-core/xwiki-platform-lib-b/src/main/node/lib/main.ts create mode 100644 xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json create mode 100644 xwiki-platform-core/xwiki-platform-lib-b/src/main/node/tsconfig.json create mode 100644 xwiki-platform-core/xwiki-platform-lib-b/src/main/node/vite.config.js create mode 100644 xwiki-platform-tools/xwiki-platform-tool-node/pom.xml create mode 100644 xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/pom.xml create mode 100644 xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node/package.json create mode 100644 xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node/tsconfig.json create mode 100644 xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/pom.xml create mode 100644 xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node/package.json create mode 100644 xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node/vite.config.js diff --git a/.gitignore b/.gitignore index ef32a379f2c3..f80215770145 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,10 @@ target target-eclipse +# Npm +node_modules/ +dist/ + # Gradle build .gradle diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 000000000000..bbe519ba66c3 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,1026 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + xwiki-platform-core/xwiki-platform-lib-a/src/main/node: + devDependencies: + '@types/node': + specifier: 20.11.17 + version: 20.11.17 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + vite: + specifier: 5.1.1 + version: 5.1.1(@types/node@20.11.17) + xwiki-platform-tool-node-tsconfig: + specifier: workspace:* + version: link:../../../../../xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node + xwiki-platform-tool-node-viteconfig: + specifier: workspace:* + version: link:../../../../../xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node + + xwiki-platform-core/xwiki-platform-lib-b/src/main/node: + dependencies: + xwiki-platform-lib-a: + specifier: workspace:* + version: link:../../../../xwiki-platform-lib-a/src/main/node + devDependencies: + '@types/node': + specifier: 20.11.17 + version: 20.11.17 + typescript: + specifier: 5.3.3 + version: 5.3.3 + vite: + specifier: 5.1.1 + version: 5.1.1(@types/node@20.11.17) + xwiki-platform-tool-node-tsconfig: + specifier: workspace:* + version: link:../../../../../xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node + xwiki-platform-tool-node-viteconfig: + specifier: workspace:* + version: link:../../../../../xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node + + xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node: {} + + xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node: + devDependencies: + rollup-plugin-peer-deps-external: + specifier: 2.2.4 + version: 2.2.4(rollup@4.9.6) + vite: + specifier: 5.1.1 + version: 5.1.1(@types/node@20.11.17) + vite-plugin-dts: + specifier: 3.7.2 + version: 3.7.2(rollup@4.9.6)(typescript@5.3.3)(vite@5.1.1) + +packages: + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.9 + dev: true + + /@babel/types@7.23.9: + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@microsoft/api-extractor-model@7.28.3: + resolution: {integrity: sha512-wT/kB2oDbdZXITyDh2SQLzaWwTOFbV326fP0pUwNW00WeliARs0qjmXBWmGWardEzp2U3/axkO3Lboqun6vrig==} + dependencies: + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 3.62.0 + transitivePeerDependencies: + - '@types/node' + dev: true + + /@microsoft/api-extractor@7.39.0: + resolution: {integrity: sha512-PuXxzadgnvp+wdeZFPonssRAj/EW4Gm4s75TXzPk09h3wJ8RS3x7typf95B4vwZRrPTQBGopdUl+/vHvlPdAcg==} + hasBin: true + dependencies: + '@microsoft/api-extractor-model': 7.28.3 + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 3.62.0 + '@rushstack/rig-package': 0.5.1 + '@rushstack/ts-command-line': 4.17.1 + colors: 1.2.5 + lodash: 4.17.21 + resolve: 1.22.8 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.3.3 + transitivePeerDependencies: + - '@types/node' + dev: true + + /@microsoft/tsdoc-config@0.16.2: + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + dependencies: + '@microsoft/tsdoc': 0.14.2 + ajv: 6.12.6 + jju: 1.4.0 + resolve: 1.19.0 + dev: true + + /@microsoft/tsdoc@0.14.2: + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + dev: true + + /@rollup/pluginutils@5.1.0(rollup@4.9.6): + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 4.9.6 + dev: true + + /@rollup/rollup-android-arm-eabi@4.9.6: + resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.9.6: + resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.9.6: + resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.9.6: + resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.9.6: + resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.9.6: + resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.9.6: + resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.9.6: + resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.9.6: + resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.9.6: + resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.9.6: + resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.9.6: + resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.9.6: + resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@3.62.0: + resolution: {integrity: sha512-88aJn2h8UpSvdwuDXBv1/v1heM6GnBf3RjEy6ZPP7UnzHNCqOHA2Ut+ScYUbXcqIdfew9JlTAe3g+cnX9xQ/Aw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + colors: 1.2.5 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/rig-package@0.5.1: + resolution: {integrity: sha512-pXRYSe29TjRw7rqxD4WS3HN/sRSbfr+tJs4a9uuaSIBAITbUggygdhuG0VrO0EO+QqH91GhYMN4S6KRtOEmGVA==} + dependencies: + resolve: 1.22.8 + strip-json-comments: 3.1.1 + dev: true + + /@rushstack/ts-command-line@4.17.1: + resolution: {integrity: sha512-2jweO1O57BYP5qdBGl6apJLB+aRIn5ccIRTPDyULh0KMwVzFqWtw6IZWt1qtUoZD/pD2RNkIOosH6Cq45rIYeg==} + dependencies: + '@types/argparse': 1.0.38 + argparse: 1.0.10 + colors: 1.2.5 + string-argv: 0.3.2 + dev: true + + /@types/argparse@1.0.38: + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/node@20.11.17: + resolution: {integrity: sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==} + dependencies: + undici-types: 5.26.5 + dev: true + + /@volar/language-core@1.11.1: + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + dependencies: + '@volar/source-map': 1.11.1 + dev: true + + /@volar/source-map@1.11.1: + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + dependencies: + muggle-string: 0.3.1 + dev: true + + /@volar/typescript@1.11.1: + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + dependencies: + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 + dev: true + + /@vue/compiler-core@3.4.18: + resolution: {integrity: sha512-F7YK8lMK0iv6b9/Gdk15A67wM0KKZvxDxed0RR60C1z9tIJTKta+urs4j0RTN5XqHISzI3etN3mX0uHhjmoqjQ==} + dependencies: + '@babel/parser': 7.23.9 + '@vue/shared': 3.4.18 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + dev: true + + /@vue/compiler-dom@3.4.18: + resolution: {integrity: sha512-24Eb8lcMfInefvQ6YlEVS18w5Q66f4+uXWVA+yb7praKbyjHRNuKVWGuinfSSjM0ZIiPi++QWukhkgznBaqpEA==} + dependencies: + '@vue/compiler-core': 3.4.18 + '@vue/shared': 3.4.18 + dev: true + + /@vue/language-core@1.8.27(typescript@5.3.3): + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.4.18 + '@vue/shared': 3.4.18 + computeds: 0.0.1 + minimatch: 9.0.3 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + typescript: 5.3.3 + vue-template-compiler: 2.7.16 + dev: true + + /@vue/shared@3.4.18: + resolution: {integrity: sha512-CxouGFxxaW5r1WbrSmWwck3No58rApXgRSBxrqgnY1K+jk20F6DrXJkHdH9n4HVT+/B6G2CAn213Uq3npWiy8Q==} + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /colors@1.2.5: + resolution: {integrity: sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==} + engines: {node: '>=0.1.90'} + dev: true + + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + requiresBuild: true + dev: true + optional: true + + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + + /de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + dev: true + + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + dev: true + + /lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + dev: true + + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /resolve@1.19.0: + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /rollup-plugin-peer-deps-external@2.2.4(rollup@4.9.6): + resolution: {integrity: sha512-AWdukIM1+k5JDdAqV/Cxd+nejvno2FVLVeZ74NKggm3Q5s9cbbcOgUPGdbxPi4BXu7xGaZ8HG12F+thImYu/0g==} + peerDependencies: + rollup: '*' + dependencies: + rollup: 4.9.6 + dev: true + + /rollup@4.9.6: + resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.9.6 + '@rollup/rollup-android-arm64': 4.9.6 + '@rollup/rollup-darwin-arm64': 4.9.6 + '@rollup/rollup-darwin-x64': 4.9.6 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.6 + '@rollup/rollup-linux-arm64-gnu': 4.9.6 + '@rollup/rollup-linux-arm64-musl': 4.9.6 + '@rollup/rollup-linux-riscv64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-musl': 4.9.6 + '@rollup/rollup-win32-arm64-msvc': 4.9.6 + '@rollup/rollup-win32-ia32-msvc': 4.9.6 + '@rollup/rollup-win32-x64-msvc': 4.9.6 + fsevents: 2.3.3 + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + dev: true + + /vite-plugin-dts@3.7.2(rollup@4.9.6)(typescript@5.3.3)(vite@5.1.1): + resolution: {integrity: sha512-kg//1nDA01b8rufJf4TsvYN8LMkdwv0oBYpiQi6nRwpHyue+wTlhrBiqgipdFpMnW1oOYv6ywmzE5B0vg6vSEA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + typescript: '*' + vite: '*' + peerDependenciesMeta: + vite: + optional: true + dependencies: + '@microsoft/api-extractor': 7.39.0 + '@rollup/pluginutils': 5.1.0(rollup@4.9.6) + '@vue/language-core': 1.8.27(typescript@5.3.3) + debug: 4.3.4 + kolorist: 1.8.0 + typescript: 5.3.3 + vite: 5.1.1(@types/node@20.11.17) + vue-tsc: 1.8.27(typescript@5.3.3) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + dev: true + + /vite@5.1.1(@types/node@20.11.17): + resolution: {integrity: sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.17 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.9.6 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue-tsc@1.8.27(typescript@5.3.3): + resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} + hasBin: true + peerDependencies: + typescript: '*' + dependencies: + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.27(typescript@5.3.3) + semver: 7.6.0 + typescript: 5.3.3 + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 000000000000..5a09f240f567 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - "./**/src/main/node" \ No newline at end of file diff --git a/pom.xml b/pom.xml index 440292eee6ce..ab27dc9259a3 100644 --- a/pom.xml +++ b/pom.xml @@ -1190,6 +1190,11 @@ xwiki-commons-tool-webjar-handlers ${commons.version} + + org.xwiki.commons + xwiki-commons-tool-webjar-node-handlers + ${commons.version} + org.xwiki.commons diff --git a/xwiki-platform-core/pom.xml b/xwiki-platform-core/pom.xml index f9d92a43e7a9..fa7c72ade5ff 100644 --- a/xwiki-platform-core/pom.xml +++ b/xwiki-platform-core/pom.xml @@ -233,6 +233,8 @@ xwiki-platform-xclass xwiki-platform-xml xwiki-platform-zipexplorer + xwiki-platform-lib-a + xwiki-platform-lib-b diff --git a/xwiki-platform-core/xwiki-platform-lib-a/pom.xml b/xwiki-platform-core/xwiki-platform-lib-a/pom.xml new file mode 100644 index 000000000000..389abb0ddcb8 --- /dev/null +++ b/xwiki-platform-core/xwiki-platform-lib-a/pom.xml @@ -0,0 +1,36 @@ + + + + + + 4.0.0 + + org.xwiki.platform + xwiki-platform-core + 16.1.0-SNAPSHOT + + webjar-node + xwiki-platform-lib-a + Lib A NPM + + Lib A NPM + + diff --git a/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/lib/main.ts b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/lib/main.ts new file mode 100644 index 000000000000..02da2820a10b --- /dev/null +++ b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/lib/main.ts @@ -0,0 +1,3 @@ +export function demo(a: number) { + return a * a * a; +} \ No newline at end of file diff --git a/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json new file mode 100644 index 000000000000..fd3b2557a856 --- /dev/null +++ b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json @@ -0,0 +1,18 @@ +{ + "name": "xwiki-platform-lib-a", + "type": "module", + "types": "dist/main.d.ts", + "exports": { + ".": { + "default": "dist/main.umd.cjs", + "types": "dist/main.dts" + } + }, + "devDependencies": { + "@types/node": "20.11.17", + "typescript": "^5.3.3", + "vite": "5.1.1", + "xwiki-platform-tool-node-tsconfig": "workspace:*", + "xwiki-platform-tool-node-viteconfig": "workspace:*" + } +} diff --git a/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/tsconfig.json b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/tsconfig.json new file mode 100644 index 000000000000..8e28aca1d397 --- /dev/null +++ b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "xwiki-platform-tool-node-tsconfig", + "include": [ + "lib/**/*" + ] +} \ No newline at end of file diff --git a/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/vite.config.js b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/vite.config.js new file mode 100644 index 000000000000..d508d7befa94 --- /dev/null +++ b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/vite.config.js @@ -0,0 +1,11 @@ +// vite.config.js +import {defineConfig, mergeConfig} from 'vite' +import viteconfig from "xwiki-platform-tool-node-viteconfig" + +export default mergeConfig(viteconfig, defineConfig({ + build: { + lib: { + name: 'xwiki-platform-lib-a' + } + } +})) \ No newline at end of file diff --git a/xwiki-platform-core/xwiki-platform-lib-b/pom.xml b/xwiki-platform-core/xwiki-platform-lib-b/pom.xml new file mode 100644 index 000000000000..bc77f52d4a98 --- /dev/null +++ b/xwiki-platform-core/xwiki-platform-lib-b/pom.xml @@ -0,0 +1,44 @@ + + + + + + 4.0.0 + + org.xwiki.platform + xwiki-platform-core + 16.1.0-SNAPSHOT + + webjar-node + xwiki-platform-lib-b + Lib B NPM + + Lib B NPM + + + + org.xwiki.platform + xwiki-platform-lib-a + ${project.version} + runtime + + + diff --git a/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/lib/main.ts b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/lib/main.ts new file mode 100644 index 000000000000..5bdd7c654057 --- /dev/null +++ b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/lib/main.ts @@ -0,0 +1,3 @@ +import {demo} from "xwiki-platform-lib-a" + +console.log(demo(12)); \ No newline at end of file diff --git a/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json new file mode 100644 index 000000000000..93312c717624 --- /dev/null +++ b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json @@ -0,0 +1,29 @@ +{ + "name": "xwiki-platform-lib-b", + "version": "1.0.0", + "description": "", + "type": "module", + "types": "dist/main.d.ts", + "scripts": { + "build": "tsc --noEmit && vite build" + }, + "exports": { + ".": { + "default": "dist/main.umd.cjs", + "types": "dist/main.dts" + } + }, + "keywords": [], + "author": "", + "license": "ISC", + "peerDependencies": { + "xwiki-platform-lib-a": "workspace:*" + }, + "devDependencies": { + "@types/node": "20.11.17", + "typescript": "5.3.3", + "vite": "5.1.1", + "xwiki-platform-tool-node-tsconfig": "workspace:*", + "xwiki-platform-tool-node-viteconfig": "workspace:*" + } +} diff --git a/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/tsconfig.json b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/tsconfig.json new file mode 100644 index 000000000000..8e28aca1d397 --- /dev/null +++ b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "xwiki-platform-tool-node-tsconfig", + "include": [ + "lib/**/*" + ] +} \ No newline at end of file diff --git a/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/vite.config.js b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/vite.config.js new file mode 100644 index 000000000000..bf54975bf9a8 --- /dev/null +++ b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/vite.config.js @@ -0,0 +1,11 @@ +// vite.config.js +import {defineConfig, mergeConfig} from 'vite' +import viteconfig from "xwiki-platform-tool-node-viteconfig" + +export default mergeConfig(viteconfig, defineConfig({ + build: { + lib: { + name: 'xwiki-platform-lib-b' + } + } +})) \ No newline at end of file diff --git a/xwiki-platform-tools/pom.xml b/xwiki-platform-tools/pom.xml index 04f089ac160d..bfdc899bcd07 100644 --- a/xwiki-platform-tools/pom.xml +++ b/xwiki-platform-tools/pom.xml @@ -40,6 +40,7 @@ xwiki-platform-tool-rootwebapp xwiki-platform-tool-standards-validator xwiki-platform-tool-xmldoc-update-plugin + xwiki-platform-tool-node diff --git a/xwiki-platform-tools/xwiki-platform-tool-node/pom.xml b/xwiki-platform-tools/xwiki-platform-tool-node/pom.xml new file mode 100644 index 000000000000..62b823267918 --- /dev/null +++ b/xwiki-platform-tools/xwiki-platform-tool-node/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + org.xwiki.platform + xwiki-platform-tools + 16.1.0-SNAPSHOT + + pom + xwiki-platform-tool-node + + xwiki-platform-tool-node-tsconfig + xwiki-platform-tool-node-viteconfig + + \ No newline at end of file diff --git a/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/pom.xml b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/pom.xml new file mode 100644 index 000000000000..624b14c4ca1f --- /dev/null +++ b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/pom.xml @@ -0,0 +1,12 @@ + + + 4.0.0 + + org.xwiki.platform + xwiki-platform-tool-node + 16.1.0-SNAPSHOT + + xwiki-platform-tool-node-tsconfig + \ No newline at end of file diff --git a/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node/package.json b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node/package.json new file mode 100644 index 000000000000..9f24e3d1bf6d --- /dev/null +++ b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node/package.json @@ -0,0 +1,7 @@ +{ + "name": "xwiki-platform-tool-node-tsconfig", + "main": "tsconfig.json", + "files": [ + "tsconfig.json" + ] +} diff --git a/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node/tsconfig.json b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node/tsconfig.json new file mode 100644 index 000000000000..dc8e34f85f85 --- /dev/null +++ b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node/tsconfig.json @@ -0,0 +1,115 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es2016", + /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "commonjs", + /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveJsonModule": true, /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, + /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, + /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, + /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true + /* Skip type checking all .d.ts files. */ + } +} diff --git a/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/pom.xml b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/pom.xml new file mode 100644 index 000000000000..d6269cf3dfac --- /dev/null +++ b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/pom.xml @@ -0,0 +1,12 @@ + + + 4.0.0 + + org.xwiki.platform + xwiki-platform-tool-node + 16.1.0-SNAPSHOT + + xwiki-platform-tool-node-viteconfig + \ No newline at end of file diff --git a/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node/package.json b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node/package.json new file mode 100644 index 000000000000..3f99ee6baa4d --- /dev/null +++ b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node/package.json @@ -0,0 +1,13 @@ +{ + "name": "xwiki-platform-tool-node-viteconfig", + "main": "vite.config.js", + "files": [ + "vite.config.js" + ], + "type": "module", + "devDependencies": { + "rollup-plugin-peer-deps-external": "2.2.4", + "vite": "5.1.1", + "vite-plugin-dts": "3.7.2" + } +} diff --git a/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node/vite.config.js b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node/vite.config.js new file mode 100644 index 000000000000..9b21df75b608 --- /dev/null +++ b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node/vite.config.js @@ -0,0 +1,20 @@ +import {resolve} from 'path' +import {defineConfig} from 'vite' +import dts from "vite-plugin-dts" +import peerDepsExternal from 'rollup-plugin-peer-deps-external'; + +export default defineConfig({ + build: { + lib: { + // Could also be a dictionary or array of multiple entry points + entry: resolve(process.cwd(), 'lib/main.ts'), + name: 'xwiki-platform-lib-b', + fileName: 'main', + formats: ['umd'] + }, + }, + plugins: [ + dts(), + peerDepsExternal() + ] +}) \ No newline at end of file From 3bd331ff1fd228bb4b5df522fd7065836dddc15e Mon Sep 17 00:00:00 2001 From: Manuel Leduc Date: Tue, 13 Feb 2024 10:48:32 +0100 Subject: [PATCH 2/4] PNPM Experiment --- pnpm-lock.yaml | 29 +- .../org.apache.solr-solr-core-8.11.2.json | 446 ++++++++++++++++++ .../src/main/node/package.json | 3 +- .../src/main/node/package.json | 9 - 4 files changed, 453 insertions(+), 34 deletions(-) create mode 100644 xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-security/xwiki-platform-extension-security-index/src/test/resources/org.apache.solr-solr-core-8.11.2.json diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bbe519ba66c3..ca82639be333 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,15 +8,12 @@ importers: xwiki-platform-core/xwiki-platform-lib-a/src/main/node: devDependencies: - '@types/node': - specifier: 20.11.17 - version: 20.11.17 typescript: - specifier: ^5.3.3 + specifier: 5.3.3 version: 5.3.3 vite: specifier: 5.1.1 - version: 5.1.1(@types/node@20.11.17) + version: 5.1.1 xwiki-platform-tool-node-tsconfig: specifier: workspace:* version: link:../../../../../xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node @@ -30,15 +27,12 @@ importers: specifier: workspace:* version: link:../../../../xwiki-platform-lib-a/src/main/node devDependencies: - '@types/node': - specifier: 20.11.17 - version: 20.11.17 typescript: specifier: 5.3.3 version: 5.3.3 vite: specifier: 5.1.1 - version: 5.1.1(@types/node@20.11.17) + version: 5.1.1 xwiki-platform-tool-node-tsconfig: specifier: workspace:* version: link:../../../../../xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node @@ -55,7 +49,7 @@ importers: version: 2.2.4(rollup@4.9.6) vite: specifier: 5.1.1 - version: 5.1.1(@types/node@20.11.17) + version: 5.1.1 vite-plugin-dts: specifier: 3.7.2 version: 3.7.2(rollup@4.9.6)(typescript@5.3.3)(vite@5.1.1) @@ -499,12 +493,6 @@ packages: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true - /@types/node@20.11.17: - resolution: {integrity: sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==} - dependencies: - undici-types: 5.26.5 - dev: true - /@volar/language-core@1.11.1: resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} dependencies: @@ -910,10 +898,6 @@ packages: hasBin: true dev: true - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true - /universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -946,7 +930,7 @@ packages: debug: 4.3.4 kolorist: 1.8.0 typescript: 5.3.3 - vite: 5.1.1(@types/node@20.11.17) + vite: 5.1.1 vue-tsc: 1.8.27(typescript@5.3.3) transitivePeerDependencies: - '@types/node' @@ -954,7 +938,7 @@ packages: - supports-color dev: true - /vite@5.1.1(@types/node@20.11.17): + /vite@5.1.1: resolution: {integrity: sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -982,7 +966,6 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.17 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.9.6 diff --git a/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-security/xwiki-platform-extension-security-index/src/test/resources/org.apache.solr-solr-core-8.11.2.json b/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-security/xwiki-platform-extension-security-index/src/test/resources/org.apache.solr-solr-core-8.11.2.json new file mode 100644 index 000000000000..b9d828916aac --- /dev/null +++ b/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-security/xwiki-platform-extension-security-index/src/test/resources/org.apache.solr-solr-core-8.11.2.json @@ -0,0 +1,446 @@ +{ + "vulns": [ + { + "id": "GHSA-37vr-vmg4-jwpw", + "summary": "Apache Solr: Backup/Restore APIs allow for deployment of executables in malicious ConfigSets ", + "details": "Improper Control of Dynamically-Managed Code Resources, Unrestricted Upload of File with Dangerous Type, Inclusion of Functionality from Untrusted Control Sphere vulnerability in Apache Solr.This issue affects Apache Solr from 6.0.0 through 8.11.2, from 9.0.0 before 9.4.1.\n\nIn the affected versions, Solr ConfigSets accepted Java jar and class files to be uploaded through the ConfigSets API.\nWhen backing up Solr Collections, these configSet files would be saved to disk when using the LocalFileSystemRepository (the default for backups).\nIf the backup was saved to a directory that Solr uses in its ClassPath/ClassLoaders, then the jar and class files would be available to use with any ConfigSet, trusted or untrusted.\n\nWhen Solr is run in a secure way (Authorization enabled), as is strongly suggested, this vulnerability is limited to extending the Backup permissions with the ability to add libraries.\nUsers are recommended to upgrade to version 8.11.3 or 9.4.1, which fix the issue.\nIn these versions, the following protections have been added:\n\n * Users are no longer able to upload files to a configSet that could be executed via a Java ClassLoader.\n * The Backup API restricts saving backups to directories that are used in the ClassLoader.", + "aliases": [ + "CVE-2023-50386" + ], + "modified": "2024-02-09T22:12:35.572225Z", + "published": "2024-02-09T18:31:07Z", + "database_specific": { + "github_reviewed_at": "2024-02-09T21:53:13Z", + "github_reviewed": true, + "severity": "MODERATE", + "cwe_ids": [ + "CWE-434" + ], + "nvd_published_at": "2024-02-09T18:15:08Z" + }, + "references": [ + { + "type": "ADVISORY", + "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-50386" + }, + { + "type": "WEB", + "url": "https://github.com/apache/lucene-solr/commit/6c8f24eb9e3fe1cb19058173f2e221de3febfeda" + }, + { + "type": "WEB", + "url": "https://github.com/apache/lucene-solr/commit/7e9a2e67f812032a049836c3aa0b18bf5cd717f9" + }, + { + "type": "WEB", + "url": "https://github.com/apache/solr/commit/644dd3a6d6780d71030f7070754d2f3adce22859" + }, + { + "type": "WEB", + "url": "https://github.com/apache/solr/commit/c79011e81dada2f9bc4b4df32ffb32152ef81152" + }, + { + "type": "WEB", + "url": "https://issues.apache.org/jira/browse/SOLR-16949" + }, + { + "type": "WEB", + "url": "https://solr.apache.org/security.html#cve-2023-50386-apache-solr-backuprestore-apis-allow-for-deployment-of-executables-in-malicious-configsets" + }, + { + "type": "WEB", + "url": "http://www.openwall.com/lists/oss-security/2024/02/09/1" + } + ], + "affected": [ + { + "package": { + "name": "org.apache.solr:solr-core", + "ecosystem": "Maven", + "purl": "pkg:maven/org.apache.solr/solr-core" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "6.0.0" + }, + { + "fixed": "8.11.3" + } + ] + } + ], + "versions": [ + "6.0.0", + "6.0.1", + "6.1.0", + "6.2.0", + "6.2.1", + "6.3.0", + "6.4.0", + "6.4.1", + "6.4.2", + "6.5.0", + "6.5.1", + "6.6.0", + "6.6.1", + "6.6.2", + "6.6.3", + "6.6.4", + "6.6.5", + "6.6.6", + "7.0.0", + "7.0.1", + "7.1.0", + "7.2.0", + "7.2.1", + "7.3.0", + "7.3.1", + "7.4.0", + "7.5.0", + "7.6.0", + "7.7.0", + "7.7.1", + "7.7.2", + "7.7.3", + "8.0.0", + "8.1.0", + "8.1.1", + "8.10.0", + "8.10.1", + "8.11.0", + "8.11.1", + "8.11.2", + "8.2.0", + "8.3.0", + "8.3.1", + "8.4.0", + "8.4.1", + "8.5.0", + "8.5.1", + "8.5.2", + "8.6.0", + "8.6.1", + "8.6.2", + "8.6.3", + "8.7.0", + "8.8.0", + "8.8.1", + "8.8.2", + "8.9.0" + ], + "database_specific": { + "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/02/GHSA-37vr-vmg4-jwpw/GHSA-37vr-vmg4-jwpw.json" + } + }, + { + "package": { + "name": "org.apache.solr:solr-core", + "ecosystem": "Maven", + "purl": "pkg:maven/org.apache.solr/solr-core" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "9.0.0" + }, + { + "fixed": "9.4.1" + } + ] + } + ], + "versions": [ + "9.0.0", + "9.1.0", + "9.1.1", + "9.2.0", + "9.2.1", + "9.3.0", + "9.4.0" + ], + "database_specific": { + "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/02/GHSA-37vr-vmg4-jwpw/GHSA-37vr-vmg4-jwpw.json" + } + } + ], + "schema_version": "1.6.0" + }, + { + "id": "GHSA-3hwc-rqwp-v36q", + "summary": "Apache Solr can leak certain passwords due to System Property redaction logic inconsistencies", + "details": "Insufficiently Protected Credentials vulnerability in Apache Solr.\n\nThis issue affects Apache Solr from 6.0.0 through 8.11.2, from 9.0.0 before 9.3.0.\nOne of the two endpoints that publishes the Solr process' Java system properties, /admin/info/properties, was only setup to hide system properties that had \"password\" contained in the name.\nThere are a number of sensitive system properties, such as \"basicauth\" and \"aws.secretKey\" do not contain \"password\", thus their values were published via the \"/admin/info/properties\" endpoint.\nThis endpoint populates the list of System Properties on the home screen of the Solr Admin page, making the exposed credentials visible in the UI.\n\nThis /admin/info/properties endpoint is protected under the \"config-read\" permission.\nTherefore, Solr Clouds with Authorization enabled will only be vulnerable through logged-in users that have the \"config-read\" permission.\nUsers are recommended to upgrade to version 9.3.0 or 8.11.3, both of which fix the issue.\nA single option now controls hiding Java system property for all endpoints, \"-Dsolr.hiddenSysProps\".\nBy default all known sensitive properties are hidden (including \"-Dbasicauth\"), as well as any property with a name containing \"secret\" or \"password\".\n\nUsers who cannot upgrade can also use the following Java system property to fix the issue:\n  `-Dsolr.redaction.system.pattern=.*(password|secret|basicauth).*`", + "aliases": [ + "CVE-2023-50291" + ], + "modified": "2024-02-09T21:56:43.352366Z", + "published": "2024-02-09T18:31:07Z", + "database_specific": { + "github_reviewed_at": "2024-02-09T21:43:19Z", + "github_reviewed": true, + "severity": "MODERATE", + "cwe_ids": [ + "CWE-522" + ], + "nvd_published_at": "2024-02-09T18:15:08Z" + }, + "references": [ + { + "type": "ADVISORY", + "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-50291" + }, + { + "type": "WEB", + "url": "https://github.com/apache/solr/commit/659021c7d50164a3166887f24875228431b02102" + }, + { + "type": "WEB", + "url": "https://github.com/apache/solr/commit/98c198810f2cd934d23d0d80aadb570a2bbb3b8e" + }, + { + "type": "PACKAGE", + "url": "https://github.com/apache/solr" + }, + { + "type": "WEB", + "url": "https://issues.apache.org/jira/browse/SOLR-16809" + }, + { + "type": "WEB", + "url": "https://solr.apache.org/security.html#cve-2023-50291-apache-solr-can-leak-certain-passwords-due-to-system-property-redaction-logic-inconsistencies" + }, + { + "type": "WEB", + "url": "http://www.openwall.com/lists/oss-security/2024/02/09/4" + } + ], + "affected": [ + { + "package": { + "name": "org.apache.solr:solr-core", + "ecosystem": "Maven", + "purl": "pkg:maven/org.apache.solr/solr-core" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "6.0.0" + }, + { + "fixed": "8.11.3" + } + ] + } + ], + "versions": [ + "6.0.0", + "6.0.1", + "6.1.0", + "6.2.0", + "6.2.1", + "6.3.0", + "6.4.0", + "6.4.1", + "6.4.2", + "6.5.0", + "6.5.1", + "6.6.0", + "6.6.1", + "6.6.2", + "6.6.3", + "6.6.4", + "6.6.5", + "6.6.6", + "7.0.0", + "7.0.1", + "7.1.0", + "7.2.0", + "7.2.1", + "7.3.0", + "7.3.1", + "7.4.0", + "7.5.0", + "7.6.0", + "7.7.0", + "7.7.1", + "7.7.2", + "7.7.3", + "8.0.0", + "8.1.0", + "8.1.1", + "8.10.0", + "8.10.1", + "8.11.0", + "8.11.1", + "8.11.2", + "8.2.0", + "8.3.0", + "8.3.1", + "8.4.0", + "8.4.1", + "8.5.0", + "8.5.1", + "8.5.2", + "8.6.0", + "8.6.1", + "8.6.2", + "8.6.3", + "8.7.0", + "8.8.0", + "8.8.1", + "8.8.2", + "8.9.0" + ], + "database_specific": { + "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/02/GHSA-3hwc-rqwp-v36q/GHSA-3hwc-rqwp-v36q.json" + } + }, + { + "package": { + "name": "org.apache.solr:solr-core", + "ecosystem": "Maven", + "purl": "pkg:maven/org.apache.solr/solr-core" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "9.0.0" + }, + { + "fixed": "9.3.0" + } + ] + } + ], + "versions": [ + "9.0.0", + "9.1.0", + "9.1.1", + "9.2.0", + "9.2.1" + ], + "database_specific": { + "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/02/GHSA-3hwc-rqwp-v36q/GHSA-3hwc-rqwp-v36q.json" + } + } + ], + "schema_version": "1.6.0" + }, + { + "id": "GHSA-4wxw-42wx-2wfx", + "summary": "Apache Solr Schema Designer blindly \"trusts\" all configsets", + "details": "Incorrect Permission Assignment for Critical Resource, Improper Control of Dynamically-Managed Code Resources vulnerability in Apache Solr.\n\nThis issue affects Apache Solr from 8.10.0 through 8.11.2, from 9.0.0 before 9.3.0.\n\nThe Schema Designer was introduced to allow users to more easily configure and test new Schemas and configSets.\nHowever, when the feature was created, the \"trust\" (authentication) of these configSets was not considered.\nExternal library loading is only available to configSets that are \"trusted\" (created by authenticated users), thus non-authenticated users are unable to perform Remote Code Execution.\nSince the Schema Designer loaded configSets without taking their \"trust\" into account, configSets that were created by unauthenticated users were allowed to load external libraries when used in the Schema Designer.\n\nUsers are recommended to upgrade to version 9.3.0 or 8.11.3, both of which fix the issue.\n\n", + "aliases": [ + "CVE-2023-50292" + ], + "modified": "2024-02-09T22:32:25.558330Z", + "published": "2024-02-09T18:31:07Z", + "database_specific": { + "github_reviewed_at": "2024-02-09T21:16:51Z", + "github_reviewed": true, + "severity": "LOW", + "cwe_ids": [ + "CWE-732" + ], + "nvd_published_at": "2024-02-09T18:15:08Z" + }, + "references": [ + { + "type": "ADVISORY", + "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-50292" + }, + { + "type": "WEB", + "url": "https://github.com/apache/lucene-solr/commit/6e9ed203b30958396bdfd41760d426b386646865" + }, + { + "type": "WEB", + "url": "https://github.com/apache/solr/commit/d07751cfaa8065bea8bd43f59e758e50d50c2419" + }, + { + "type": "WEB", + "url": "https://issues.apache.org/jira/browse/SOLR-16777" + }, + { + "type": "WEB", + "url": "https://solr.apache.org/security.html#cve-2023-50298-apache-solr-can-expose-zookeeper-credentials-via-streaming-expressions" + }, + { + "type": "WEB", + "url": "http://www.openwall.com/lists/oss-security/2024/02/09/3" + } + ], + "affected": [ + { + "package": { + "name": "org.apache.solr:solr-core", + "ecosystem": "Maven", + "purl": "pkg:maven/org.apache.solr/solr-core" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "9.0.0" + }, + { + "fixed": "9.3.0" + } + ] + } + ], + "versions": [ + "9.0.0", + "9.1.0", + "9.1.1", + "9.2.0", + "9.2.1" + ], + "database_specific": { + "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/02/GHSA-4wxw-42wx-2wfx/GHSA-4wxw-42wx-2wfx.json" + } + }, + { + "package": { + "name": "org.apache.solr:solr-core", + "ecosystem": "Maven", + "purl": "pkg:maven/org.apache.solr/solr-core" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "8.10.0" + }, + { + "fixed": "8.11.3" + } + ] + } + ], + "versions": [ + "8.10.0", + "8.10.1", + "8.11.0", + "8.11.1", + "8.11.2" + ], + "database_specific": { + "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/02/GHSA-4wxw-42wx-2wfx/GHSA-4wxw-42wx-2wfx.json" + } + } + ], + "schema_version": "1.6.0" + } + ] +} diff --git a/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json index fd3b2557a856..873a2e4f8603 100644 --- a/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json +++ b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json @@ -9,8 +9,7 @@ } }, "devDependencies": { - "@types/node": "20.11.17", - "typescript": "^5.3.3", + "typescript": "5.3.3", "vite": "5.1.1", "xwiki-platform-tool-node-tsconfig": "workspace:*", "xwiki-platform-tool-node-viteconfig": "workspace:*" diff --git a/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json index 93312c717624..9872020678e8 100644 --- a/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json +++ b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json @@ -1,26 +1,17 @@ { "name": "xwiki-platform-lib-b", - "version": "1.0.0", - "description": "", "type": "module", "types": "dist/main.d.ts", - "scripts": { - "build": "tsc --noEmit && vite build" - }, "exports": { ".": { "default": "dist/main.umd.cjs", "types": "dist/main.dts" } }, - "keywords": [], - "author": "", - "license": "ISC", "peerDependencies": { "xwiki-platform-lib-a": "workspace:*" }, "devDependencies": { - "@types/node": "20.11.17", "typescript": "5.3.3", "vite": "5.1.1", "xwiki-platform-tool-node-tsconfig": "workspace:*", From 2b7d956d702b88940265b1c143cbf9e1a212390b Mon Sep 17 00:00:00 2001 From: Manuel Leduc Date: Tue, 13 Feb 2024 17:38:03 +0100 Subject: [PATCH 3/4] PNPM Experiment * Switch to amd --- .../src/main/node/package.json | 2 +- .../src/main/node/package.json | 2 +- .../src/main/node/tsconfig.json | 112 +----------------- .../src/main/node/vite.config.js | 5 +- 4 files changed, 7 insertions(+), 114 deletions(-) diff --git a/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json index 873a2e4f8603..cc376ae120b6 100644 --- a/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json +++ b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json @@ -4,7 +4,7 @@ "types": "dist/main.d.ts", "exports": { ".": { - "default": "dist/main.umd.cjs", + "default": "dist/main.amd.cjs", "types": "dist/main.dts" } }, diff --git a/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json index 9872020678e8..d55f9f94669d 100644 --- a/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json +++ b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json @@ -4,7 +4,7 @@ "types": "dist/main.d.ts", "exports": { ".": { - "default": "dist/main.umd.cjs", + "default": "dist/main.amd.cjs", "types": "dist/main.dts" } }, diff --git a/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node/tsconfig.json b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node/tsconfig.json index dc8e34f85f85..18a9b1e7c3ab 100644 --- a/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node/tsconfig.json +++ b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-tsconfig/src/main/node/tsconfig.json @@ -1,115 +1,9 @@ { "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "es2016", - /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - - /* Modules */ - "module": "commonjs", - /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ - // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ - // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ - // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - // "outDir": "./", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, - /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + "declarationMap": true, /* Create sourcemaps for d.ts files. */ "forceConsistentCasingInFileNames": true, - /* Ensure that casing is correct in imports. */ - - /* Type Checking */ "strict": true, - /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true - /* Skip type checking all .d.ts files. */ } } + \ No newline at end of file diff --git a/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node/vite.config.js b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node/vite.config.js index 9b21df75b608..89bb415142cd 100644 --- a/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node/vite.config.js +++ b/xwiki-platform-tools/xwiki-platform-tool-node/xwiki-platform-tool-node-viteconfig/src/main/node/vite.config.js @@ -5,12 +5,11 @@ import peerDepsExternal from 'rollup-plugin-peer-deps-external'; export default defineConfig({ build: { + sourcemap: true, lib: { - // Could also be a dictionary or array of multiple entry points entry: resolve(process.cwd(), 'lib/main.ts'), - name: 'xwiki-platform-lib-b', fileName: 'main', - formats: ['umd'] + formats: ['amd'] }, }, plugins: [ From 0e3ec4bfe28a32882792f71b7411ae39435a2ea8 Mon Sep 17 00:00:00 2001 From: Manuel Leduc Date: Wed, 14 Feb 2024 14:19:34 +0100 Subject: [PATCH 4/4] PNPM Experiment * remove unrelated file * fix typo in package.json --- .../org.apache.solr-solr-core-8.11.2.json | 446 ------------------ .../src/main/node/package.json | 2 +- .../src/main/node/package.json | 2 +- 3 files changed, 2 insertions(+), 448 deletions(-) delete mode 100644 xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-security/xwiki-platform-extension-security-index/src/test/resources/org.apache.solr-solr-core-8.11.2.json diff --git a/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-security/xwiki-platform-extension-security-index/src/test/resources/org.apache.solr-solr-core-8.11.2.json b/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-security/xwiki-platform-extension-security-index/src/test/resources/org.apache.solr-solr-core-8.11.2.json deleted file mode 100644 index b9d828916aac..000000000000 --- a/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-security/xwiki-platform-extension-security-index/src/test/resources/org.apache.solr-solr-core-8.11.2.json +++ /dev/null @@ -1,446 +0,0 @@ -{ - "vulns": [ - { - "id": "GHSA-37vr-vmg4-jwpw", - "summary": "Apache Solr: Backup/Restore APIs allow for deployment of executables in malicious ConfigSets ", - "details": "Improper Control of Dynamically-Managed Code Resources, Unrestricted Upload of File with Dangerous Type, Inclusion of Functionality from Untrusted Control Sphere vulnerability in Apache Solr.This issue affects Apache Solr from 6.0.0 through 8.11.2, from 9.0.0 before 9.4.1.\n\nIn the affected versions, Solr ConfigSets accepted Java jar and class files to be uploaded through the ConfigSets API.\nWhen backing up Solr Collections, these configSet files would be saved to disk when using the LocalFileSystemRepository (the default for backups).\nIf the backup was saved to a directory that Solr uses in its ClassPath/ClassLoaders, then the jar and class files would be available to use with any ConfigSet, trusted or untrusted.\n\nWhen Solr is run in a secure way (Authorization enabled), as is strongly suggested, this vulnerability is limited to extending the Backup permissions with the ability to add libraries.\nUsers are recommended to upgrade to version 8.11.3 or 9.4.1, which fix the issue.\nIn these versions, the following protections have been added:\n\n * Users are no longer able to upload files to a configSet that could be executed via a Java ClassLoader.\n * The Backup API restricts saving backups to directories that are used in the ClassLoader.", - "aliases": [ - "CVE-2023-50386" - ], - "modified": "2024-02-09T22:12:35.572225Z", - "published": "2024-02-09T18:31:07Z", - "database_specific": { - "github_reviewed_at": "2024-02-09T21:53:13Z", - "github_reviewed": true, - "severity": "MODERATE", - "cwe_ids": [ - "CWE-434" - ], - "nvd_published_at": "2024-02-09T18:15:08Z" - }, - "references": [ - { - "type": "ADVISORY", - "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-50386" - }, - { - "type": "WEB", - "url": "https://github.com/apache/lucene-solr/commit/6c8f24eb9e3fe1cb19058173f2e221de3febfeda" - }, - { - "type": "WEB", - "url": "https://github.com/apache/lucene-solr/commit/7e9a2e67f812032a049836c3aa0b18bf5cd717f9" - }, - { - "type": "WEB", - "url": "https://github.com/apache/solr/commit/644dd3a6d6780d71030f7070754d2f3adce22859" - }, - { - "type": "WEB", - "url": "https://github.com/apache/solr/commit/c79011e81dada2f9bc4b4df32ffb32152ef81152" - }, - { - "type": "WEB", - "url": "https://issues.apache.org/jira/browse/SOLR-16949" - }, - { - "type": "WEB", - "url": "https://solr.apache.org/security.html#cve-2023-50386-apache-solr-backuprestore-apis-allow-for-deployment-of-executables-in-malicious-configsets" - }, - { - "type": "WEB", - "url": "http://www.openwall.com/lists/oss-security/2024/02/09/1" - } - ], - "affected": [ - { - "package": { - "name": "org.apache.solr:solr-core", - "ecosystem": "Maven", - "purl": "pkg:maven/org.apache.solr/solr-core" - }, - "ranges": [ - { - "type": "ECOSYSTEM", - "events": [ - { - "introduced": "6.0.0" - }, - { - "fixed": "8.11.3" - } - ] - } - ], - "versions": [ - "6.0.0", - "6.0.1", - "6.1.0", - "6.2.0", - "6.2.1", - "6.3.0", - "6.4.0", - "6.4.1", - "6.4.2", - "6.5.0", - "6.5.1", - "6.6.0", - "6.6.1", - "6.6.2", - "6.6.3", - "6.6.4", - "6.6.5", - "6.6.6", - "7.0.0", - "7.0.1", - "7.1.0", - "7.2.0", - "7.2.1", - "7.3.0", - "7.3.1", - "7.4.0", - "7.5.0", - "7.6.0", - "7.7.0", - "7.7.1", - "7.7.2", - "7.7.3", - "8.0.0", - "8.1.0", - "8.1.1", - "8.10.0", - "8.10.1", - "8.11.0", - "8.11.1", - "8.11.2", - "8.2.0", - "8.3.0", - "8.3.1", - "8.4.0", - "8.4.1", - "8.5.0", - "8.5.1", - "8.5.2", - "8.6.0", - "8.6.1", - "8.6.2", - "8.6.3", - "8.7.0", - "8.8.0", - "8.8.1", - "8.8.2", - "8.9.0" - ], - "database_specific": { - "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/02/GHSA-37vr-vmg4-jwpw/GHSA-37vr-vmg4-jwpw.json" - } - }, - { - "package": { - "name": "org.apache.solr:solr-core", - "ecosystem": "Maven", - "purl": "pkg:maven/org.apache.solr/solr-core" - }, - "ranges": [ - { - "type": "ECOSYSTEM", - "events": [ - { - "introduced": "9.0.0" - }, - { - "fixed": "9.4.1" - } - ] - } - ], - "versions": [ - "9.0.0", - "9.1.0", - "9.1.1", - "9.2.0", - "9.2.1", - "9.3.0", - "9.4.0" - ], - "database_specific": { - "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/02/GHSA-37vr-vmg4-jwpw/GHSA-37vr-vmg4-jwpw.json" - } - } - ], - "schema_version": "1.6.0" - }, - { - "id": "GHSA-3hwc-rqwp-v36q", - "summary": "Apache Solr can leak certain passwords due to System Property redaction logic inconsistencies", - "details": "Insufficiently Protected Credentials vulnerability in Apache Solr.\n\nThis issue affects Apache Solr from 6.0.0 through 8.11.2, from 9.0.0 before 9.3.0.\nOne of the two endpoints that publishes the Solr process' Java system properties, /admin/info/properties, was only setup to hide system properties that had \"password\" contained in the name.\nThere are a number of sensitive system properties, such as \"basicauth\" and \"aws.secretKey\" do not contain \"password\", thus their values were published via the \"/admin/info/properties\" endpoint.\nThis endpoint populates the list of System Properties on the home screen of the Solr Admin page, making the exposed credentials visible in the UI.\n\nThis /admin/info/properties endpoint is protected under the \"config-read\" permission.\nTherefore, Solr Clouds with Authorization enabled will only be vulnerable through logged-in users that have the \"config-read\" permission.\nUsers are recommended to upgrade to version 9.3.0 or 8.11.3, both of which fix the issue.\nA single option now controls hiding Java system property for all endpoints, \"-Dsolr.hiddenSysProps\".\nBy default all known sensitive properties are hidden (including \"-Dbasicauth\"), as well as any property with a name containing \"secret\" or \"password\".\n\nUsers who cannot upgrade can also use the following Java system property to fix the issue:\n  `-Dsolr.redaction.system.pattern=.*(password|secret|basicauth).*`", - "aliases": [ - "CVE-2023-50291" - ], - "modified": "2024-02-09T21:56:43.352366Z", - "published": "2024-02-09T18:31:07Z", - "database_specific": { - "github_reviewed_at": "2024-02-09T21:43:19Z", - "github_reviewed": true, - "severity": "MODERATE", - "cwe_ids": [ - "CWE-522" - ], - "nvd_published_at": "2024-02-09T18:15:08Z" - }, - "references": [ - { - "type": "ADVISORY", - "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-50291" - }, - { - "type": "WEB", - "url": "https://github.com/apache/solr/commit/659021c7d50164a3166887f24875228431b02102" - }, - { - "type": "WEB", - "url": "https://github.com/apache/solr/commit/98c198810f2cd934d23d0d80aadb570a2bbb3b8e" - }, - { - "type": "PACKAGE", - "url": "https://github.com/apache/solr" - }, - { - "type": "WEB", - "url": "https://issues.apache.org/jira/browse/SOLR-16809" - }, - { - "type": "WEB", - "url": "https://solr.apache.org/security.html#cve-2023-50291-apache-solr-can-leak-certain-passwords-due-to-system-property-redaction-logic-inconsistencies" - }, - { - "type": "WEB", - "url": "http://www.openwall.com/lists/oss-security/2024/02/09/4" - } - ], - "affected": [ - { - "package": { - "name": "org.apache.solr:solr-core", - "ecosystem": "Maven", - "purl": "pkg:maven/org.apache.solr/solr-core" - }, - "ranges": [ - { - "type": "ECOSYSTEM", - "events": [ - { - "introduced": "6.0.0" - }, - { - "fixed": "8.11.3" - } - ] - } - ], - "versions": [ - "6.0.0", - "6.0.1", - "6.1.0", - "6.2.0", - "6.2.1", - "6.3.0", - "6.4.0", - "6.4.1", - "6.4.2", - "6.5.0", - "6.5.1", - "6.6.0", - "6.6.1", - "6.6.2", - "6.6.3", - "6.6.4", - "6.6.5", - "6.6.6", - "7.0.0", - "7.0.1", - "7.1.0", - "7.2.0", - "7.2.1", - "7.3.0", - "7.3.1", - "7.4.0", - "7.5.0", - "7.6.0", - "7.7.0", - "7.7.1", - "7.7.2", - "7.7.3", - "8.0.0", - "8.1.0", - "8.1.1", - "8.10.0", - "8.10.1", - "8.11.0", - "8.11.1", - "8.11.2", - "8.2.0", - "8.3.0", - "8.3.1", - "8.4.0", - "8.4.1", - "8.5.0", - "8.5.1", - "8.5.2", - "8.6.0", - "8.6.1", - "8.6.2", - "8.6.3", - "8.7.0", - "8.8.0", - "8.8.1", - "8.8.2", - "8.9.0" - ], - "database_specific": { - "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/02/GHSA-3hwc-rqwp-v36q/GHSA-3hwc-rqwp-v36q.json" - } - }, - { - "package": { - "name": "org.apache.solr:solr-core", - "ecosystem": "Maven", - "purl": "pkg:maven/org.apache.solr/solr-core" - }, - "ranges": [ - { - "type": "ECOSYSTEM", - "events": [ - { - "introduced": "9.0.0" - }, - { - "fixed": "9.3.0" - } - ] - } - ], - "versions": [ - "9.0.0", - "9.1.0", - "9.1.1", - "9.2.0", - "9.2.1" - ], - "database_specific": { - "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/02/GHSA-3hwc-rqwp-v36q/GHSA-3hwc-rqwp-v36q.json" - } - } - ], - "schema_version": "1.6.0" - }, - { - "id": "GHSA-4wxw-42wx-2wfx", - "summary": "Apache Solr Schema Designer blindly \"trusts\" all configsets", - "details": "Incorrect Permission Assignment for Critical Resource, Improper Control of Dynamically-Managed Code Resources vulnerability in Apache Solr.\n\nThis issue affects Apache Solr from 8.10.0 through 8.11.2, from 9.0.0 before 9.3.0.\n\nThe Schema Designer was introduced to allow users to more easily configure and test new Schemas and configSets.\nHowever, when the feature was created, the \"trust\" (authentication) of these configSets was not considered.\nExternal library loading is only available to configSets that are \"trusted\" (created by authenticated users), thus non-authenticated users are unable to perform Remote Code Execution.\nSince the Schema Designer loaded configSets without taking their \"trust\" into account, configSets that were created by unauthenticated users were allowed to load external libraries when used in the Schema Designer.\n\nUsers are recommended to upgrade to version 9.3.0 or 8.11.3, both of which fix the issue.\n\n", - "aliases": [ - "CVE-2023-50292" - ], - "modified": "2024-02-09T22:32:25.558330Z", - "published": "2024-02-09T18:31:07Z", - "database_specific": { - "github_reviewed_at": "2024-02-09T21:16:51Z", - "github_reviewed": true, - "severity": "LOW", - "cwe_ids": [ - "CWE-732" - ], - "nvd_published_at": "2024-02-09T18:15:08Z" - }, - "references": [ - { - "type": "ADVISORY", - "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-50292" - }, - { - "type": "WEB", - "url": "https://github.com/apache/lucene-solr/commit/6e9ed203b30958396bdfd41760d426b386646865" - }, - { - "type": "WEB", - "url": "https://github.com/apache/solr/commit/d07751cfaa8065bea8bd43f59e758e50d50c2419" - }, - { - "type": "WEB", - "url": "https://issues.apache.org/jira/browse/SOLR-16777" - }, - { - "type": "WEB", - "url": "https://solr.apache.org/security.html#cve-2023-50298-apache-solr-can-expose-zookeeper-credentials-via-streaming-expressions" - }, - { - "type": "WEB", - "url": "http://www.openwall.com/lists/oss-security/2024/02/09/3" - } - ], - "affected": [ - { - "package": { - "name": "org.apache.solr:solr-core", - "ecosystem": "Maven", - "purl": "pkg:maven/org.apache.solr/solr-core" - }, - "ranges": [ - { - "type": "ECOSYSTEM", - "events": [ - { - "introduced": "9.0.0" - }, - { - "fixed": "9.3.0" - } - ] - } - ], - "versions": [ - "9.0.0", - "9.1.0", - "9.1.1", - "9.2.0", - "9.2.1" - ], - "database_specific": { - "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/02/GHSA-4wxw-42wx-2wfx/GHSA-4wxw-42wx-2wfx.json" - } - }, - { - "package": { - "name": "org.apache.solr:solr-core", - "ecosystem": "Maven", - "purl": "pkg:maven/org.apache.solr/solr-core" - }, - "ranges": [ - { - "type": "ECOSYSTEM", - "events": [ - { - "introduced": "8.10.0" - }, - { - "fixed": "8.11.3" - } - ] - } - ], - "versions": [ - "8.10.0", - "8.10.1", - "8.11.0", - "8.11.1", - "8.11.2" - ], - "database_specific": { - "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/02/GHSA-4wxw-42wx-2wfx/GHSA-4wxw-42wx-2wfx.json" - } - } - ], - "schema_version": "1.6.0" - } - ] -} diff --git a/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json index cc376ae120b6..687cf7151606 100644 --- a/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json +++ b/xwiki-platform-core/xwiki-platform-lib-a/src/main/node/package.json @@ -4,7 +4,7 @@ "types": "dist/main.d.ts", "exports": { ".": { - "default": "dist/main.amd.cjs", + "default": "dist/main.amd.js", "types": "dist/main.dts" } }, diff --git a/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json index d55f9f94669d..cdda0f0b32bb 100644 --- a/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json +++ b/xwiki-platform-core/xwiki-platform-lib-b/src/main/node/package.json @@ -4,7 +4,7 @@ "types": "dist/main.d.ts", "exports": { ".": { - "default": "dist/main.amd.cjs", + "default": "dist/main.amd.js", "types": "dist/main.dts" } },