From 1769143cfa0c419a01524bc8bb3fe15830a577d5 Mon Sep 17 00:00:00 2001 From: Seonglae Cho Date: Fri, 6 Jun 2025 15:23:49 +0100 Subject: [PATCH 1/5] chore: format vite config --- package.json | 1 + packages/nutils/package.json | 4 +- packages/nutils/tsup.config.ts | 14 - packages/nutils/vite.config.ts | 20 ++ pnpm-lock.yaml | 449 ++++++++++++++++++++++++++++++++- 5 files changed, 470 insertions(+), 18 deletions(-) delete mode 100644 packages/nutils/tsup.config.ts create mode 100644 packages/nutils/vite.config.ts diff --git a/package.json b/package.json index 86de05b4..4b4618d8 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "turbo": "^2.5.4", "typescript": "^5.8.3", "vite": "^6.3.5", + "vite-plugin-dts": "^3.8.1", "vitest": "^3.1.4" }, "standard-version": { diff --git a/packages/nutils/package.json b/packages/nutils/package.json index 1879b27c..0ec56f57 100644 --- a/packages/nutils/package.json +++ b/packages/nutils/package.json @@ -23,8 +23,8 @@ "node": ">=22.16.0" }, "scripts": { - "build": "tsc && tsup", - "watch": "tsup --watch --silent --onSuccess 'echo build successful'", + "build": "tsc && vite build", + "watch": "vite build --watch --mode development", "test": "vitest --run", "prerelease": "standard-version --skip.changelog --prerelease", "release": "standard-version --release-as", diff --git a/packages/nutils/tsup.config.ts b/packages/nutils/tsup.config.ts deleted file mode 100644 index 9275442c..00000000 --- a/packages/nutils/tsup.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig({ - entry: ['src/index.ts'], - outDir: 'build', - target: 'es2015', - platform: 'browser', - format: ['esm'], - splitting: true, - dts: true, - sourcemap: true, - minify: true, - shims: false -}) diff --git a/packages/nutils/vite.config.ts b/packages/nutils/vite.config.ts new file mode 100644 index 00000000..e772a0ac --- /dev/null +++ b/packages/nutils/vite.config.ts @@ -0,0 +1,20 @@ +import { defineConfig } from 'vite' +import dts from 'vite-plugin-dts' + +export default defineConfig({ + build: { + lib: { + entry: 'src/index.ts', + formats: ['es'], + fileName: () => 'index.js' + }, + outDir: 'build', + target: 'es2015', + sourcemap: true, + minify: true, + rollupOptions: { + external: ['is-url-superb', 'mem', 'normalize-url', '@texonom/ntypes', 'p-queue'] + } + }, + plugins: [dts({ tsconfigPath: 'tsconfig.json', outDir: 'build' })] +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 939dcb46..3ea97d9a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -55,7 +55,7 @@ importers: version: 9.5.0 tsup: specifier: ^8.5.0 - version: 8.5.0(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3) + version: 8.5.0(@microsoft/api-extractor@7.43.0(@types/node@22.15.29))(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3) tsx: specifier: ^4.19.4 version: 4.19.4 @@ -68,6 +68,9 @@ importers: vite: specifier: ^6.3.5 version: 6.3.5(@types/node@22.15.29)(tsx@4.19.4) + vite-plugin-dts: + specifier: ^3.8.1 + version: 3.9.1(@types/node@22.15.29)(rollup@4.40.1)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(tsx@4.19.4)) vitest: specifier: ^3.1.4 version: 3.1.4(@types/node@22.15.29)(tsx@4.19.4) @@ -239,10 +242,18 @@ packages: resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.25.9': resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + '@babel/highlight@7.18.6': resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} @@ -252,6 +263,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.27.5': + resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/runtime@7.21.5': resolution: {integrity: sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==} engines: {node: '>=6.9.0'} @@ -264,6 +280,10 @@ packages: resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} + '@babel/types@7.27.6': + resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} + engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@1.0.2': resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} @@ -495,6 +515,19 @@ packages: katex: '>=0.9' react: '>=16' + '@microsoft/api-extractor-model@7.28.13': + resolution: {integrity: sha512-39v/JyldX4MS9uzHcdfmjjfS6cYGAoXV+io8B5a338pkHiSt+gy2eXQ0Q7cGFJ7quSa1VqqlMdlPrB6sLR/cAw==} + + '@microsoft/api-extractor@7.43.0': + resolution: {integrity: sha512-GFhTcJpB+MI6FhvXEI9b2K0snulNLWHqC/BbcJtyNYcKUiw7l3Lgis5ApsYncJ0leALX7/of4XfmXk+maT111w==} + hasBin: true + + '@microsoft/tsdoc-config@0.16.2': + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + + '@microsoft/tsdoc@0.14.2': + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + '@next/eslint-plugin-next@15.3.3': resolution: {integrity: sha512-VKZJEiEdpKkfBmcokGjHu0vGDG+8CehGs90tBEy/IDoDDKGngeyIStt2MmE5FYNyU9BhgR7tybNWTAJY/30u+Q==} @@ -526,6 +559,15 @@ packages: resolution: {integrity: sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@rollup/pluginutils@5.1.4': + resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/rollup-android-arm-eabi@4.40.1': resolution: {integrity: sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==} cpu: [arm] @@ -632,6 +674,31 @@ packages: '@rushstack/eslint-patch@1.10.4': resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} + '@rushstack/node-core-library@4.0.2': + resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/rig-package@0.5.2': + resolution: {integrity: sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA==} + + '@rushstack/terminal@0.10.0': + resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/ts-command-line@4.19.1': + resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} + + '@types/argparse@1.0.38': + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} @@ -766,6 +833,32 @@ packages: '@vitest/utils@3.1.4': resolution: {integrity: sha512-yriMuO1cfFhmiGc8ataN51+9ooHRuURdfAZfwFd3usWynjzpLslZdYnRegTv32qdgtJTsj15FoeZe2g15fY1gg==} + '@volar/language-core@1.11.1': + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + + '@volar/source-map@1.11.1': + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + + '@volar/typescript@1.11.1': + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + + '@vue/compiler-core@3.5.16': + resolution: {integrity: sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==} + + '@vue/compiler-dom@3.5.16': + resolution: {integrity: sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==} + + '@vue/language-core@1.8.27': + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/shared@3.5.16': + resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==} + '@xobotyi/scrollbar-width@1.9.5': resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} @@ -821,6 +914,9 @@ packages: any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -1036,9 +1132,16 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} + commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -1181,6 +1284,9 @@ packages: dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -1302,6 +1408,10 @@ packages: resolution: {integrity: sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==} engines: {node: '>=10.13.0'} + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -1501,6 +1611,9 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -1610,6 +1723,10 @@ packages: fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -1776,6 +1893,10 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -1809,6 +1930,10 @@ packages: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -2047,6 +2172,9 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -2083,6 +2211,9 @@ packages: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} @@ -2102,6 +2233,9 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + language-subtag-registry@0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} @@ -2144,6 +2278,14 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. + + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. + lodash.ismatch@4.4.0: resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} @@ -2249,6 +2391,9 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + minimatch@3.0.8: + resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -2280,6 +2425,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -2439,6 +2587,9 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -2713,6 +2864,9 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve@1.19.0: + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + resolve@1.22.4: resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} hasBin: true @@ -2783,6 +2937,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} @@ -2878,6 +3037,9 @@ packages: split@1.0.1: resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + stack-generator@2.0.10: resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} @@ -2901,6 +3063,10 @@ packages: std-env@3.9.0: resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -2989,6 +3155,10 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -3226,6 +3396,11 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + engines: {node: '>=14.17'} + hasBin: true + typescript@5.8.3: resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} engines: {node: '>=14.17'} @@ -3252,6 +3427,10 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -3261,11 +3440,25 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validator@13.15.15: + resolution: {integrity: sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A==} + engines: {node: '>= 0.10'} + vite-node@3.1.4: resolution: {integrity: sha512-6enNwYnpyDo4hEgytbmc6mYWHXDHYEn0D1/rw4Q+tnHUGtKTJsn8T1YkX6Q18wI5LCrS8CTYlBaiCqxOy2kvUA==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true + vite-plugin-dts@3.9.1: + resolution: {integrity: sha512-rVp2KM9Ue22NGWB8dNtWEr+KekN3rIgz1tWD050QnRGlriUCmaDwa7qA5zDEjbXg5lAXhYMSBJtx3q3hQIJZSg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + typescript: '*' + vite: '*' + peerDependenciesMeta: + vite: + optional: true + vite@6.3.5: resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -3334,6 +3527,15 @@ packages: jsdom: optional: true + vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} + + vue-tsc@1.8.27: + resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} + hasBin: true + peerDependencies: + typescript: '*' + warning@4.0.3: resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} @@ -3413,6 +3615,11 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + snapshots: '@aashutoshrathi/word-wrap@1.2.6': {} @@ -3428,8 +3635,12 @@ snapshots: '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-validator-identifier@7.27.1': {} + '@babel/highlight@7.18.6': dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -3440,6 +3651,10 @@ snapshots: dependencies: '@babel/types': 7.26.0 + '@babel/parser@7.27.5': + dependencies: + '@babel/types': 7.27.6 + '@babel/runtime@7.21.5': dependencies: regenerator-runtime: 0.13.11 @@ -3453,6 +3668,11 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@babel/types@7.27.6': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@bcoe/v8-coverage@1.0.2': {} '@esbuild/aix-ppc64@0.25.3': @@ -3607,6 +3827,41 @@ snapshots: katex: 0.16.22 react: 19.1.0 + '@microsoft/api-extractor-model@7.28.13(@types/node@22.15.29)': + dependencies: + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@22.15.29) + transitivePeerDependencies: + - '@types/node' + + '@microsoft/api-extractor@7.43.0(@types/node@22.15.29)': + dependencies: + '@microsoft/api-extractor-model': 7.28.13(@types/node@22.15.29) + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@22.15.29) + '@rushstack/rig-package': 0.5.2 + '@rushstack/terminal': 0.10.0(@types/node@22.15.29) + '@rushstack/ts-command-line': 4.19.1(@types/node@22.15.29) + lodash: 4.17.21 + minimatch: 3.0.8 + resolve: 1.22.4 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.4.2 + transitivePeerDependencies: + - '@types/node' + + '@microsoft/tsdoc-config@0.16.2': + dependencies: + '@microsoft/tsdoc': 0.14.2 + ajv: 6.12.6 + jju: 1.4.0 + resolve: 1.19.0 + + '@microsoft/tsdoc@0.14.2': {} + '@next/eslint-plugin-next@15.3.3': dependencies: fast-glob: 3.3.1 @@ -3632,6 +3887,14 @@ snapshots: '@pkgr/core@0.2.4': {} + '@rollup/pluginutils@5.1.4(rollup@4.40.1)': + dependencies: + '@types/estree': 1.0.7 + estree-walker: 2.0.2 + picomatch: 4.0.2 + optionalDependencies: + rollup: 4.40.1 + '@rollup/rollup-android-arm-eabi@4.40.1': optional: true @@ -3696,6 +3959,40 @@ snapshots: '@rushstack/eslint-patch@1.10.4': {} + '@rushstack/node-core-library@4.0.2(@types/node@22.15.29)': + dependencies: + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.4 + semver: 7.5.4 + z-schema: 5.0.5 + optionalDependencies: + '@types/node': 22.15.29 + + '@rushstack/rig-package@0.5.2': + dependencies: + resolve: 1.22.4 + strip-json-comments: 3.1.1 + + '@rushstack/terminal@0.10.0(@types/node@22.15.29)': + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@22.15.29) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 22.15.29 + + '@rushstack/ts-command-line@4.19.1(@types/node@22.15.29)': + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@22.15.29) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + + '@types/argparse@1.0.38': {} + '@types/estree@1.0.7': {} '@types/graceful-fs@4.1.9': @@ -3884,6 +4181,48 @@ snapshots: loupe: 3.1.3 tinyrainbow: 2.0.0 + '@volar/language-core@1.11.1': + dependencies: + '@volar/source-map': 1.11.1 + + '@volar/source-map@1.11.1': + dependencies: + muggle-string: 0.3.1 + + '@volar/typescript@1.11.1': + dependencies: + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 + + '@vue/compiler-core@3.5.16': + dependencies: + '@babel/parser': 7.27.5 + '@vue/shared': 3.5.16 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.16': + dependencies: + '@vue/compiler-core': 3.5.16 + '@vue/shared': 3.5.16 + + '@vue/language-core@1.8.27(typescript@5.8.3)': + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.5.16 + '@vue/shared': 3.5.16 + computeds: 0.0.1 + minimatch: 9.0.5 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + vue-template-compiler: 2.7.16 + optionalDependencies: + typescript: 5.8.3 + + '@vue/shared@3.5.16': {} + '@xobotyi/scrollbar-width@1.9.5': {} JSONStream@1.3.5: @@ -3929,6 +4268,10 @@ snapshots: any-promise@1.3.0: {} + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + argparse@2.0.1: {} aria-query@5.3.2: {} @@ -4190,11 +4533,16 @@ snapshots: commander@8.3.0: {} + commander@9.5.0: + optional: true + compare-func@2.0.0: dependencies: array-ify: 1.0.0 dot-prop: 5.3.0 + computeds@0.0.1: {} + concat-map@0.0.1: {} concat-stream@2.0.0: @@ -4389,6 +4737,8 @@ snapshots: dateformat@3.0.3: {} + de-indent@1.0.2: {} + debug@3.2.7: dependencies: ms: 2.1.3 @@ -4491,6 +4841,8 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + entities@4.5.0: {} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -4905,6 +5257,8 @@ snapshots: estraverse@5.3.0: {} + estree-walker@2.0.2: {} + estree-walker@3.0.3: dependencies: '@types/estree': 1.0.7 @@ -5014,6 +5368,12 @@ snapshots: fs-constants@1.0.0: optional: true + fs-extra@7.0.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -5220,6 +5580,8 @@ snapshots: dependencies: function-bind: 1.1.2 + he@1.2.0: {} + hosted-git-info@2.8.9: {} hosted-git-info@4.1.0: @@ -5244,6 +5606,8 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 + import-lazy@4.0.0: {} + imurmurhash@0.1.4: {} indent-string@4.0.0: {} @@ -5484,6 +5848,8 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jju@1.4.0: {} + joycon@3.1.1: {} js-cookie@2.2.1: {} @@ -5510,6 +5876,10 @@ snapshots: dependencies: minimist: 1.2.8 + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 + jsonparse@1.3.1: {} jsx-ast-utils@3.3.5: @@ -5529,6 +5899,8 @@ snapshots: kind-of@6.0.3: {} + kolorist@1.8.0: {} + language-subtag-registry@0.3.22: {} language-tags@1.0.9: @@ -5571,6 +5943,10 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash.get@4.4.2: {} + + lodash.isequal@4.5.0: {} + lodash.ismatch@4.4.0: {} lodash.merge@4.6.2: {} @@ -5663,6 +6039,10 @@ snapshots: min-indent@1.0.1: {} + minimatch@3.0.8: + dependencies: + brace-expansion: 1.1.11 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -5695,6 +6075,8 @@ snapshots: ms@2.1.3: {} + muggle-string@0.3.1: {} + mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -5880,6 +6262,8 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + path-browserify@1.0.1: {} + path-exists@3.0.0: {} path-exists@4.0.0: {} @@ -6153,6 +6537,11 @@ snapshots: resolve-pkg-maps@1.0.0: {} + resolve@1.19.0: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + resolve@1.22.4: dependencies: is-core-module: 2.15.1 @@ -6248,6 +6637,10 @@ snapshots: dependencies: lru-cache: 6.0.0 + semver@7.5.4: + dependencies: + lru-cache: 6.0.0 + semver@7.6.3: {} set-function-length@1.2.2: @@ -6357,6 +6750,8 @@ snapshots: dependencies: through: 2.3.8 + sprintf-js@1.0.3: {} + stack-generator@2.0.10: dependencies: stackframe: 1.3.4 @@ -6395,6 +6790,8 @@ snapshots: std-env@3.9.0: {} + string-argv@0.3.2: {} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -6519,6 +6916,10 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + supports-preserve-symlinks-flag@1.0.0: {} synckit@0.11.8: @@ -6630,7 +7031,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.5.0(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3): + tsup@8.5.0(@microsoft/api-extractor@7.43.0(@types/node@22.15.29))(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3): dependencies: bundle-require: 5.1.0(esbuild@0.25.3) cac: 6.7.14 @@ -6650,6 +7051,7 @@ snapshots: tinyglobby: 0.2.13 tree-kill: 1.2.2 optionalDependencies: + '@microsoft/api-extractor': 7.43.0(@types/node@22.15.29) postcss: 8.5.3 typescript: 5.8.3 transitivePeerDependencies: @@ -6778,6 +7180,8 @@ snapshots: typedarray@0.0.6: {} + typescript@5.4.2: {} + typescript@5.8.3: {} ufo@1.6.1: {} @@ -6803,6 +7207,8 @@ snapshots: undici-types@6.21.0: {} + universalify@0.1.2: {} + uri-js@4.4.1: dependencies: punycode: 2.3.0 @@ -6814,6 +7220,8 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + validator@13.15.15: {} + vite-node@3.1.4(@types/node@22.15.29)(tsx@4.19.4): dependencies: cac: 6.7.14 @@ -6835,6 +7243,23 @@ snapshots: - tsx - yaml + vite-plugin-dts@3.9.1(@types/node@22.15.29)(rollup@4.40.1)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(tsx@4.19.4)): + dependencies: + '@microsoft/api-extractor': 7.43.0(@types/node@22.15.29) + '@rollup/pluginutils': 5.1.4(rollup@4.40.1) + '@vue/language-core': 1.8.27(typescript@5.8.3) + debug: 4.4.0 + kolorist: 1.8.0 + magic-string: 0.30.17 + typescript: 5.8.3 + vue-tsc: 1.8.27(typescript@5.8.3) + optionalDependencies: + vite: 6.3.5(@types/node@22.15.29)(tsx@4.19.4) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + vite@6.3.5(@types/node@22.15.29)(tsx@4.19.4): dependencies: esbuild: 0.25.3 @@ -6887,6 +7312,18 @@ snapshots: - tsx - yaml + vue-template-compiler@2.7.16: + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + vue-tsc@1.8.27(typescript@5.8.3): + dependencies: + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.27(typescript@5.8.3) + semver: 7.6.3 + typescript: 5.8.3 + warning@4.0.3: dependencies: loose-envify: 1.4.0 @@ -6999,3 +7436,11 @@ snapshots: yargs-parser: 20.2.9 yocto-queue@0.1.0: {} + + z-schema@5.0.5: + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.15.15 + optionalDependencies: + commander: 9.5.0 From 957ccd8f4cfcd3edb6c5c382f5705df190e4a712 Mon Sep 17 00:00:00 2001 From: Seonglae Cho Date: Fri, 6 Jun 2025 16:09:38 +0100 Subject: [PATCH 2/5] merge: resolve conflicts with main --- packages/cli/src/main.ts | 2 + packages/cli/src/notion/export.ts | 18 + packages/cli/src/treemap.ts | 7 - packages/nclient/readme.md | 13 + packages/nclient/src/notion-api.test.ts | 6 + packages/nclient/src/notion-api.ts | 17 + .../nreact/src/components/search-dialog.tsx | 12 +- packages/nreact/src/context.tsx | 7 +- pnpm-lock.yaml | 346 ++++++++++-------- 9 files changed, 266 insertions(+), 162 deletions(-) diff --git a/packages/cli/src/main.ts b/packages/cli/src/main.ts index 1f7e5a59..b501ab0e 100644 --- a/packages/cli/src/main.ts +++ b/packages/cli/src/main.ts @@ -18,3 +18,5 @@ export * from './notion/export' export * from './notion/index' export * from './treemap' export * from './stats' +export * from './treemap' +export * from './stats' diff --git a/packages/cli/src/notion/export.ts b/packages/cli/src/notion/export.ts index 866d49a5..1b831dd5 100644 --- a/packages/cli/src/notion/export.ts +++ b/packages/cli/src/notion/export.ts @@ -1,6 +1,24 @@ import { Option, Command } from 'clipanion' import { NotionExporter } from './index' import { generateTreemaps, PageNode } from '../treemap' +import { computeStats, writeStats } from '../stats' + treemap = Option.Boolean('--treemap', { + description: 'Generate HTML treemap after export' + }) + stats = Option.Boolean('--stats', { + description: 'Generate statistics JSON after export' + }) + + if (this.treemap || this.stats) if (!exporter.pageTree) await exporter.loadRaw() + + const tree = exporter.pageTree as unknown as PageNode + if (this.treemap && tree) await generateTreemaps(this.folder, tree) + + if (this.stats && tree) { + const stats = computeStats(tree) + await writeStats(`${this.folder}/stats.json`, stats) + } +import { generateTreemaps, PageNode } from '../treemap' import { computeStats, writeStats } from '../stats' export class NotionExportCommand extends Command { diff --git a/packages/cli/src/treemap.ts b/packages/cli/src/treemap.ts index 6dc6a57e..eed6217c 100644 --- a/packages/cli/src/treemap.ts +++ b/packages/cli/src/treemap.ts @@ -1,28 +1,21 @@ import fs from 'fs' import { promisify } from 'util' - export interface PageNode { - id: string - blocks: number pages: number title: string children?: PageNode[] } const writeFile = promisify(fs.writeFile) - export async function generateTreemaps(folder: string, pageTree: PageNode) { const treemapDataPages = computeMetrics(pageTree, 'pages') const titlePages = 'Texonom PageTree' const outputPathPages = `${folder}/pagetree.html` await generateTreemapHTML(treemapDataPages, titlePages, outputPathPages) - const treemapDataBlocks = computeMetrics(pageTree, 'blocks') const titleBlocks = 'Texonom BlockMap' const outputPathBlocks = `${folder}/blocktree.html` await generateTreemapHTML(treemapDataBlocks, titleBlocks, outputPathBlocks) -} - interface TreemapNode { id: string name: string diff --git a/packages/nclient/readme.md b/packages/nclient/readme.md index a05571e9..e82f820c 100644 --- a/packages/nclient/readme.md +++ b/packages/nclient/readme.md @@ -42,6 +42,19 @@ const backlinks = await api.getBacklinks({ const pageBacklinks = await api.getPageBacklinks('page-id') ``` +### Fetch backlinks + +Backlinks require an auth token. + +```ts +const backlinks = await api.getBacklinks({ + block: { id: 'page-id', spaceId: 'space-id' } +}) + +// or simply pass the page id +const pageBacklinks = await api.getPageBacklinks('page-id') +``` + ### Fetch a database's content You can pass a database ID to the `getPage` method. The response is an object which contains several important properties: diff --git a/packages/nclient/src/notion-api.test.ts b/packages/nclient/src/notion-api.test.ts index 543dfb8b..be429699 100644 --- a/packages/nclient/src/notion-api.test.ts +++ b/packages/nclient/src/notion-api.test.ts @@ -65,6 +65,12 @@ test(`Page Backlink`, { timeout: 10000, concurrent: true }, async () => { expect(backlinks.backlinks.length > 0) }) +test(`Page Backlink`, { timeout: 10000, concurrent: true }, async () => { + const api = new NotionAPI({ authToken: process.env.NOTION_TOKEN }) + const backlinks = await api.getPageBacklinks('441d5ce2-b781-46d0-9354-54042b4f06d9') + expect(backlinks.backlinks.length > 0) +}) + test(`Get block`, { timeout: 10000, concurrent: true }, async () => { const id = '3f9e0d86-c643-4672-aa0c-78d63fa80598' const api = new NotionAPI() diff --git a/packages/nclient/src/notion-api.ts b/packages/nclient/src/notion-api.ts index b478173f..63717dc7 100644 --- a/packages/nclient/src/notion-api.ts +++ b/packages/nclient/src/notion-api.ts @@ -591,6 +591,23 @@ export class NotionAPI { return this.getBacklinks({ block: { id, spaceId } }, fetchOption) } + /** + * Fetch backlinks for a page by automatically resolving its space id. + * Requires an authToken since backlinks are a private API. + * + * @param pageId page id or url + * @param fetchOption additional fetch options + */ + public async getPageBacklinks(pageId: string, fetchOption?: FetchOption) { + const id = parsePageId(pageId) + const res = await this.getBlocks([id], fetchOption) + const block = res.recordMap.block[id]?.value + if (!block) throw new Error(`Block not found "${uuidToId(id)}"`) + const spaceId = block.space_id + + return this.getBacklinks({ block: { id, spaceId } }, fetchOption) + } + public async fetch({ endpoint, body, diff --git a/packages/nreact/src/components/search-dialog.tsx b/packages/nreact/src/components/search-dialog.tsx index 3db4cfa5..9c0516f3 100644 --- a/packages/nreact/src/components/search-dialog.tsx +++ b/packages/nreact/src/components/search-dialog.tsx @@ -1,6 +1,4 @@ import React from 'react' -import { getBlockParentPage, getBlockTitle } from '@texonom/nutils' - import { NotionContextConsumer, NotionContextProvider } from '../context' import { ClearIcon } from '../icons/clear-icon' import { LoadingIcon } from '../icons/loading-icon' @@ -19,6 +17,16 @@ const debounce = (func: (...args: any[]) => void, wait: number) => { } } + // debounce search calls so the expensive query only runs after typing stops + this._search = debounce(this._searchImpl.bind(this), 500) + onInput={this._onChangeQuery} + let timeout: ReturnType | undefined + return (...args: any[]) => { + if (timeout) clearTimeout(timeout) + timeout = setTimeout(() => func(...args), wait) + } +} + export class SearchDialog extends React.Component<{ isOpen: boolean rootBlockId: string diff --git a/packages/nreact/src/context.tsx b/packages/nreact/src/context.tsx index 3632faa3..e7dd41cd 100644 --- a/packages/nreact/src/context.tsx +++ b/packages/nreact/src/context.tsx @@ -185,10 +185,15 @@ export const NotionContextProvider: React.FC = ({ if (components.nextLink) { const nextLink = wrapNextLink(components.nextLink) components.nextLink = nextLink - if (!components.PageLink) components.PageLink = nextLink if (!components.Link) components.Link = nextLink } + // ensure the user can't override default components with falsy values + // since it would result in very difficult-to-debug react errors + for (const key of Object.keys(components)) if (!components[key]) delete components[key] + + return components + }, [themeComponents]) // ensure the user can't override default components with falsy values // since it would result in very difficult-to-debug react errors diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 88a4e69a..ddca2916 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -55,7 +55,7 @@ importers: version: 9.5.0 tsup: specifier: ^8.5.0 - version: 8.5.0(@microsoft/api-extractor@7.43.0(@types/node@22.15.29))(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3) + version: 8.5.0(@microsoft/api-extractor@7.43.0(@types/node@22.15.30))(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3) tsx: specifier: ^4.19.4 version: 4.19.4 @@ -67,10 +67,10 @@ importers: version: 5.8.3 vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.29)(tsx@4.19.4) + version: 6.3.5(@types/node@22.15.30)(tsx@4.19.4) vite-plugin-dts: specifier: ^3.8.1 - version: 3.9.1(@types/node@22.15.29)(rollup@4.40.1)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(tsx@4.19.4)) + version: 3.9.1(@types/node@22.15.30)(rollup@4.40.1)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4)) vitest: specifier: ^3.2.2 version: 3.2.2(@types/node@22.15.30)(tsx@4.19.4) @@ -699,6 +699,12 @@ packages: '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + '@types/chai@5.2.2': + resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} @@ -726,9 +732,6 @@ packages: '@types/node@22.15.30': resolution: {integrity: sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==} - '@types/normalize-package-data@2.4.1': - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} - '@types/react@19.1.6': resolution: {integrity: sha512-JeG0rEWak0N6Itr6QUx+X60uQmN+5t3j9r/OVDtWzFXKaj6kD1BwJzOksD0FF6iWxZlbE1kB0q9vtnU2ekqa1Q==} @@ -752,53 +755,55 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/scope-manager@8.33.1': resolution: {integrity: sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/tsconfig-utils@8.33.1': resolution: {integrity: sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/type-utils@8.33.1': resolution: {integrity: sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/types@8.33.1': resolution: {integrity: sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.33.1': resolution: {integrity: sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/utils@8.33.1': resolution: {integrity: sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/visitor-keys@8.33.1': resolution: {integrity: sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vitest/coverage-v8@3.2.2': resolution: {integrity: sha512-RVAi5xnqedSKvaoQyCTWvncMk8eYZcTTOsLK7XmnfOEvdGP/O/upA0/MA8Ss+Qs++mj0GcSRi/whR0S5iBPpTQ==} - peerDependencies: '@vitest/browser': 3.2.2 vitest: 3.2.2 + '@vitest/expect@3.2.2': + resolution: {integrity: sha512-ipHw0z669vEMjzz3xQE8nJX1s0rQIb7oEl4jjl35qWTwm/KIHERIg/p/zORrjAaZKXfsv7IybcNGHwhOOAPMwQ==} + '@vitest/mocker@3.2.2': + resolution: {integrity: sha512-jKojcaRyIYpDEf+s7/dD3LJt53c0dPfp5zCPXz9H/kcGrSlovU/t1yEaNzM9oFME3dcd4ULwRI/x0Po1Zf+LTw==} + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + + '@vitest/pretty-format@3.2.2': + resolution: {integrity: sha512-FY4o4U1UDhO9KMd2Wee5vumwcaHw7Vg4V7yR4Oq6uK34nhEJOmdRYrk3ClburPRUA09lXD/oXWZ8y/Sdma0aUQ==} + '@vitest/runner@3.2.2': + resolution: {integrity: sha512-GYcHcaS3ejGRZYed2GAkvsjBeXIEerDKdX3orQrBJqLRiea4NSS9qvn9Nxmuy1IwIB+EjFOaxXnX79l8HFaBwg==} + '@vitest/snapshot@3.2.2': + resolution: {integrity: sha512-aMEI2XFlR1aNECbBs5C5IZopfi5Lb8QJZGGpzS8ZUHML5La5wCbrbhLOVSME68qwpT05ROEEOAZPRXFpxZV2wA==} + + '@vitest/spy@3.2.2': + resolution: {integrity: sha512-6Utxlx3o7pcTxvp0u8kUiXtRFScMrUg28KjB3R2hon7w4YqOFAEA9QwzPVVS1QNL3smo4xRNOpNZClRVfpMcYg==} + '@vitest/utils@3.2.2': + resolution: {integrity: sha512-qJYMllrWpF/OYfWHP32T31QCaLa3BAzT/n/8mNGhPdVcjY+JYazQFO1nsJvXU12Kp1xMpNY4AGuljPTNjQve6A==} + vitest: 3.2.2 peerDependenciesMeta: '@vitest/browser': optional: true @@ -984,6 +989,9 @@ packages: ast-v8-to-istanbul@0.3.3: resolution: {integrity: sha512-MuXMrSLVVoA6sYN/6Hke18vMzrT4TZNbZIj/hvh0fnYFpO+/kFXcLIaiPwXXWaQUPg4yJD8fj+lfJ7/1EBconw==} + ast-v8-to-istanbul@0.3.3: + resolution: {integrity: sha512-MuXMrSLVVoA6sYN/6Hke18vMzrT4TZNbZIj/hvh0fnYFpO+/kFXcLIaiPwXXWaQUPg4yJD8fj+lfJ7/1EBconw==} + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -1289,6 +1297,15 @@ packages: de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -2160,6 +2177,9 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -3201,11 +3221,15 @@ packages: engines: {node: '>=18'} text-extensions@1.9.0: - resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} - engines: {node: '>=0.10'} + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + tinypool@1.1.0: + resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==} + + tinyspy@4.0.3: + resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} @@ -3396,11 +3420,8 @@ packages: engines: {node: '>= 0.4'} typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.4: - resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + vite-node@3.2.2: + resolution: {integrity: sha512-Xj/jovjZvDXOq2FgLXu8NsY4uHUMWtzVmMC2LkCu9HWdr9Qu1Is5sanX3Z4jOFKdohfaWDnEJWp9pRP0vVpAcA==} engines: {node: '>= 0.4'} typed-array-length@1.0.6: @@ -3474,14 +3495,14 @@ packages: vite: optional: true - vite@6.3.5: - resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} + vitest@3.2.2: + resolution: {integrity: sha512-fyNn/Rp016Bt5qvY0OQvIUCwW2vnaEBLxP42PmKbNIoasSYjML+8xyeADOPvBe+Xfl/ubIw4og7Lt9jflRsCNw==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - jiti: '>=1.21.0' - less: '*' + '@vitest/browser': 3.2.2 + '@vitest/ui': 3.2.2 lightningcss: ^1.21.0 sass: '*' sass-embedded: '*' @@ -3741,17 +3762,17 @@ snapshots: '@esbuild/linux-x64@0.25.3': optional: true - '@esbuild/netbsd-arm64@0.25.3': - optional: true - - '@esbuild/netbsd-x64@0.25.3': - optional: true + debug: 4.4.1 + debug: 4.4.1 - '@esbuild/openbsd-arm64@0.25.3': - optional: true + '@microsoft/api-extractor-model@7.28.13(@types/node@22.15.30)': + '@rushstack/node-core-library': 4.0.2(@types/node@22.15.30) - '@esbuild/openbsd-x64@0.25.3': - optional: true + '@microsoft/api-extractor@7.43.0(@types/node@22.15.30)': + '@microsoft/api-extractor-model': 7.28.13(@types/node@22.15.30) + '@rushstack/node-core-library': 4.0.2(@types/node@22.15.30) + '@rushstack/terminal': 0.10.0(@types/node@22.15.30) + '@rushstack/ts-command-line': 4.19.1(@types/node@22.15.30) '@esbuild/sunos-x64@0.25.3': optional: true @@ -3934,88 +3955,92 @@ snapshots: '@rollup/rollup-linux-arm-musleabihf@4.40.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.40.1': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.40.1': - optional: true - - '@rollup/rollup-linux-loongarch64-gnu@4.40.1': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.40.1': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.40.1': - optional: true - - '@rollup/rollup-linux-riscv64-musl@4.40.1': - optional: true + '@rushstack/node-core-library@4.0.2(@types/node@22.15.30)': + '@types/node': 22.15.30 - '@rollup/rollup-linux-s390x-gnu@4.40.1': - optional: true + '@rushstack/terminal@0.10.0(@types/node@22.15.30)': + '@rushstack/node-core-library': 4.0.2(@types/node@22.15.30) + '@types/node': 22.15.30 + '@rushstack/ts-command-line@4.19.1(@types/node@22.15.30)': + '@rushstack/terminal': 0.10.0(@types/node@22.15.30) - '@rollup/rollup-linux-x64-gnu@4.40.1': - optional: true + '@types/chai@5.2.2': + dependencies: + '@types/deep-eql': 4.0.2 - '@rollup/rollup-linux-x64-musl@4.40.1': - optional: true + '@types/deep-eql@4.0.2': {} - '@rollup/rollup-win32-arm64-msvc@4.40.1': - optional: true + '@types/node': 22.15.30 + '@types/node': 22.15.30 - '@rollup/rollup-win32-ia32-msvc@4.40.1': - optional: true + '@types/node@22.15.30': - '@rollup/rollup-win32-x64-msvc@4.40.1': - optional: true + '@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)': + '@typescript-eslint/parser': 8.33.1(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.33.1 + '@typescript-eslint/type-utils': 8.33.1(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/utils': 8.33.1(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.33.1 + '@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3)': + '@typescript-eslint/scope-manager': 8.33.1 + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.33.1 - '@rtsao/scc@1.1.0': {} + '@typescript-eslint/project-service@8.33.1(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) + '@typescript-eslint/types': 8.33.1 + debug: 4.4.1 + typescript: 5.8.3 - '@rushstack/eslint-patch@1.10.4': {} + '@typescript-eslint/scope-manager@8.33.1': + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/visitor-keys': 8.33.1 - '@rushstack/node-core-library@4.0.2(@types/node@22.15.29)': + '@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.8.3)': dependencies: - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.4 - semver: 7.5.4 - z-schema: 5.0.5 - optionalDependencies: - '@types/node': 22.15.29 - - '@rushstack/rig-package@0.5.2': + '@typescript-eslint/type-utils@8.33.1(eslint@8.57.1)(typescript@5.8.3)': + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) + '@typescript-eslint/utils': 8.33.1(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/types@8.33.1': {} + '@typescript-eslint/typescript-estree@8.33.1(typescript@5.8.3)': + '@typescript-eslint/project-service': 8.33.1(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/visitor-keys': 8.33.1 + '@typescript-eslint/utils@8.33.1(eslint@8.57.1)(typescript@5.8.3)': dependencies: - resolve: 1.22.4 - strip-json-comments: 3.1.1 - - '@rushstack/terminal@0.10.0(@types/node@22.15.29)': + '@typescript-eslint/scope-manager': 8.33.1 + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys@8.33.1': dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@22.15.29) - supports-color: 8.1.1 - optionalDependencies: - '@types/node': 22.15.29 + '@typescript-eslint/types': 8.33.1 + '@vitest/coverage-v8@3.2.2(vitest@3.2.2(@types/node@22.15.30)(tsx@4.19.4))': + ast-v8-to-istanbul: 0.3.3 + debug: 4.4.1 + vitest: 3.2.2(@types/node@22.15.30)(tsx@4.19.4) - '@rushstack/ts-command-line@4.19.1(@types/node@22.15.29)': + '@vitest/expect@3.2.2': dependencies: - '@rushstack/terminal': 0.10.0(@types/node@22.15.29) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - - '@types/argparse@1.0.38': {} - - '@types/estree@1.0.7': {} + '@types/chai': 5.2.2 + '@vitest/spy': 3.2.2 + '@vitest/utils': 3.2.2 + '@vitest/mocker@3.2.2(vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4))': + '@vitest/spy': 3.2.2 + vite: 6.3.5(@types/node@22.15.30)(tsx@4.19.4) + '@vitest/pretty-format@3.2.2': - '@types/graceful-fs@4.1.9': + '@vitest/runner@3.2.2': + '@vitest/utils': 3.2.2 + '@vitest/snapshot@3.2.2': + '@vitest/pretty-format': 3.2.2 + '@vitest/spy@3.2.2': dependencies: - '@types/node': 22.15.30 - - '@types/js-cookie@2.2.7': {} + tinyspy: 4.0.3 + '@vitest/utils@3.2.2': + '@vitest/pretty-format': 3.2.2 '@types/json5@0.0.29': {} '@types/jsonstream@0.8.33': @@ -4347,6 +4372,12 @@ snapshots: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.7 + ast-v8-to-istanbul@0.3.3: + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + estree-walker: 3.0.3 + js-tokens: 9.0.1 + es-shim-unscopables: 1.0.2 array.prototype.tosorted@1.1.4: @@ -4726,6 +4757,10 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.2 + debug@4.4.1: + dependencies: + ms: 2.1.3 + data-view-byte-length@1.0.1: dependencies: call-bind: 1.0.8 @@ -5024,21 +5059,21 @@ snapshots: dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 - is-symbol: 1.0.4 - - es-to-primitive@1.3.0: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.1.0 - is-symbol: 1.1.1 + '@typescript-eslint/eslint-plugin': 8.33.1(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) + '@typescript-eslint/parser': 8.33.1(eslint@8.57.1)(typescript@5.8.3) + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.5.5)(eslint@8.57.1) + eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1): + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.5.5)(eslint@8.57.1) - esbuild@0.25.3: + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.57.1): optionalDependencies: - '@esbuild/aix-ppc64': 0.25.3 - '@esbuild/android-arm': 0.25.3 - '@esbuild/android-arm64': 0.25.3 - '@esbuild/android-x64': 0.25.3 - '@esbuild/darwin-arm64': 0.25.3 + '@typescript-eslint/parser': 8.33.1(eslint@8.57.1)(typescript@5.8.3) + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.5.5)(eslint@8.57.1): + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.33.1(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.57.1) + '@typescript-eslint/parser': 8.33.1(eslint@8.57.1)(typescript@5.8.3) '@esbuild/darwin-x64': 0.25.3 '@esbuild/freebsd-arm64': 0.25.3 '@esbuild/freebsd-x64': 0.25.3 @@ -5798,7 +5833,9 @@ snapshots: dependencies: call-bound: 1.0.4 has-symbols: 1.1.0 - safe-regex-test: 1.1.0 + debug: 4.4.1 + + js-tokens@9.0.1: {} is-text-path@1.0.1: dependencies: @@ -6968,10 +7005,15 @@ snapshots: tar-stream@2.2.0: dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 + tinyglobby@0.2.14: + dependencies: + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 + + tinypool@1.1.0: {} + tinyspy@4.0.3: {} + tsup@8.5.0(@microsoft/api-extractor@7.43.0(@types/node@22.15.30))(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3): + '@microsoft/api-extractor': 7.43.0(@types/node@22.15.30) readable-stream: 3.6.2 optional: true @@ -7178,33 +7220,33 @@ snapshots: for-each: 0.3.3 gopd: 1.2.0 has-proto: 1.2.0 - is-typed-array: 1.1.13 - - typed-array-byte-offset@1.0.4: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.15 - reflect.getprototypeof: 1.0.9 - - typed-array-length@1.0.6: + vite-node@3.2.2(@types/node@22.15.30)(tsx@4.19.4): dependencies: - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - - typed-array-length@1.0.7: + debug: 4.4.1 + vite: 6.3.5(@types/node@22.15.30)(tsx@4.19.4) + vite-plugin-dts@3.9.1(@types/node@22.15.30)(rollup@4.40.1)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4)): + '@microsoft/api-extractor': 7.43.0(@types/node@22.15.30) + debug: 4.4.1 + vite: 6.3.5(@types/node@22.15.30)(tsx@4.19.4) + vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4): + '@types/node': 22.15.30 + vitest@3.2.2(@types/node@22.15.30)(tsx@4.19.4): dependencies: - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - is-typed-array: 1.1.15 + '@types/chai': 5.2.2 + '@vitest/expect': 3.2.2 + '@vitest/mocker': 3.2.2(vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4)) + '@vitest/pretty-format': 3.2.2 + '@vitest/runner': 3.2.2 + '@vitest/snapshot': 3.2.2 + '@vitest/spy': 3.2.2 + '@vitest/utils': 3.2.2 + debug: 4.4.1 + picomatch: 4.0.2 + tinyglobby: 0.2.14 + tinypool: 1.1.0 + vite: 6.3.5(@types/node@22.15.30)(tsx@4.19.4) + vite-node: 3.2.2(@types/node@22.15.30)(tsx@4.19.4) + '@types/node': 22.15.30 possible-typed-array-names: 1.0.0 reflect.getprototypeof: 1.0.9 From 23a22d9731ccf78880e10596a19d464ea72b48d6 Mon Sep 17 00:00:00 2001 From: Seonglae Cho Date: Sun, 8 Jun 2025 00:58:39 +0100 Subject: [PATCH 3/5] chore: include vite-plugin-dts in nutils --- packages/nutils/package.json | 3 +++ pnpm-lock.yaml | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/packages/nutils/package.json b/packages/nutils/package.json index 0ec56f57..babe3294 100644 --- a/packages/nutils/package.json +++ b/packages/nutils/package.json @@ -30,6 +30,9 @@ "release": "standard-version --release-as", "pu": "pnpm publish" }, + "devDependencies": { + "vite-plugin-dts": "^3.8.1" + }, "dependencies": { "is-url-superb": "^6.1.0", "mem": "^10.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ddca2916..6d58f108 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -223,6 +223,10 @@ importers: p-queue: specifier: ^8.1.0 version: 8.1.0 + devDependencies: + vite-plugin-dts: + specifier: ^3.8.1 + version: 3.9.1(@types/node@22.15.30)(rollup@4.40.1)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4)) packages: From 3b20cf16eff59755c496a5c0ae982a25060719ba Mon Sep 17 00:00:00 2001 From: Seonglae Cho Date: Mon, 9 Jun 2025 02:06:51 +0100 Subject: [PATCH 4/5] refactor: switch packages to vite --- package.json | 1 - packages/cli/package.json | 4 +- packages/cli/tsup.config.ts | 14 -- packages/cli/vite.config.ts | 30 ++++ packages/nclient/package.json | 4 +- packages/nclient/tsup.config.ts | 14 -- packages/nclient/vite.config.ts | 21 +++ packages/ncompat/package.json | 4 +- packages/ncompat/tsup.config.ts | 13 -- packages/ncompat/vite.config.ts | 21 +++ packages/nreact/package.json | 4 +- packages/nreact/tsup.config.ts | 34 ---- packages/nreact/vite.config.ts | 21 +++ packages/ntypes/package.json | 5 +- packages/ntypes/tsup.config.ts | 14 -- packages/ntypes/vite.config.ts | 21 +++ pnpm-lock.yaml | 277 -------------------------------- 17 files changed, 125 insertions(+), 377 deletions(-) delete mode 100644 packages/cli/tsup.config.ts create mode 100644 packages/cli/vite.config.ts delete mode 100644 packages/nclient/tsup.config.ts create mode 100644 packages/nclient/vite.config.ts delete mode 100644 packages/ncompat/tsup.config.ts create mode 100644 packages/ncompat/vite.config.ts delete mode 100644 packages/nreact/tsup.config.ts create mode 100644 packages/nreact/vite.config.ts delete mode 100644 packages/ntypes/tsup.config.ts create mode 100644 packages/ntypes/vite.config.ts diff --git a/package.json b/package.json index cb542a1e..0bd4dbcf 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,6 @@ "husky": "^9.1.7", "prettier": "^3.5.3", "standard-version": "^9.5.0", - "tsup": "^8.5.0", "tsx": "^4.19.4", "turbo": "^2.5.4", "typescript": "^5.8.3", diff --git a/packages/cli/package.json b/packages/cli/package.json index 43525084..d70798a1 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -21,8 +21,8 @@ "notion": "./build/src/main.js" }, "scripts": { - "build": "tsc && tsup", - "watch": "tsup --watch --silent --onSuccess 'echo build successful'", + "build": "tsc && vite build", + "watch": "vite build --watch --mode development", "test": "vitest --run", "prerelease": "standard-version --skip.changelog --prerelease", "release": "standard-version --release-as", diff --git a/packages/cli/tsup.config.ts b/packages/cli/tsup.config.ts deleted file mode 100644 index 93e895e0..00000000 --- a/packages/cli/tsup.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig({ - entry: ['src/main.ts'], - outDir: 'build/src', - target: 'node14', - platform: 'node', - format: ['esm'], - splitting: true, - dts: true, - sourcemap: true, - minify: true, - shims: false -}) diff --git a/packages/cli/vite.config.ts b/packages/cli/vite.config.ts new file mode 100644 index 00000000..386eab94 --- /dev/null +++ b/packages/cli/vite.config.ts @@ -0,0 +1,30 @@ +import { defineConfig } from 'vite' +import dts from 'vite-plugin-dts' +import pkg from './package.json' assert { type: 'json' } + +export default defineConfig({ + build: { + lib: { + entry: 'src/main.ts', + formats: ['es'], + fileName: () => 'main.js' + }, + outDir: 'build/src', + target: 'node16', + sourcemap: true, + minify: true, + rollupOptions: { + external: [ + ...Object.keys(pkg.dependencies || {}), + ...Object.keys(pkg.peerDependencies || {}), + 'fs', + 'fs/promises', + 'path', + 'stream', + 'util' + ] + } + }, + plugins: [dts({ tsconfigPath: 'tsconfig.json', outDir: 'build/src' })] +}) + diff --git a/packages/nclient/package.json b/packages/nclient/package.json index 9af884f6..be1cf464 100644 --- a/packages/nclient/package.json +++ b/packages/nclient/package.json @@ -17,8 +17,8 @@ "node": ">=22.16.0" }, "scripts": { - "build": "tsc && tsup", - "watch": "tsup --watch --silent --onSuccess 'echo build successful'", + "build": "tsc && vite build", + "watch": "vite build --watch --mode development", "test": "vitest --run", "prerelease": "standard-version --skip.changelog --prerelease", "release": "standard-version --release-as", diff --git a/packages/nclient/tsup.config.ts b/packages/nclient/tsup.config.ts deleted file mode 100644 index a137fa3c..00000000 --- a/packages/nclient/tsup.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig({ - entry: ['src/index.ts'], - outDir: 'build', - target: 'node14', - platform: 'node', - format: ['esm'], - splitting: true, - dts: true, - sourcemap: true, - minify: true, - shims: false -}) diff --git a/packages/nclient/vite.config.ts b/packages/nclient/vite.config.ts new file mode 100644 index 00000000..97826748 --- /dev/null +++ b/packages/nclient/vite.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from 'vite' +import dts from 'vite-plugin-dts' +import pkg from './package.json' assert { type: 'json' } + +export default defineConfig({ + build: { + lib: { + entry: 'src/index.ts', + formats: ['es'], + fileName: () => 'index.js' + }, + outDir: 'build', + target: 'es2015', + sourcemap: true, + minify: true, + rollupOptions: { + external: [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.peerDependencies || {})] + } + }, + plugins: [dts({ tsconfigPath: 'tsconfig.json', outDir: 'build' })] +}) diff --git a/packages/ncompat/package.json b/packages/ncompat/package.json index 545c3349..c05fc3f0 100644 --- a/packages/ncompat/package.json +++ b/packages/ncompat/package.json @@ -17,8 +17,8 @@ "node": ">=22.16.0" }, "scripts": { - "build": "tsc && tsup", - "watch": "tsup --watch --silent --onSuccess 'echo build successful'", + "build": "tsc && vite build", + "watch": "vite build --watch --mode development", "prerelease": "standard-version --skip.changelog --prerelease", "release": "standard-version --release-as", "pu": "pnpm publish" diff --git a/packages/ncompat/tsup.config.ts b/packages/ncompat/tsup.config.ts deleted file mode 100644 index 1a99de6d..00000000 --- a/packages/ncompat/tsup.config.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig({ - entry: ['src/index.ts'], - outDir: 'build', - target: 'node14', - platform: 'node', - format: ['esm'], - splitting: true, - sourcemap: true, - minify: true, - shims: false -}) diff --git a/packages/ncompat/vite.config.ts b/packages/ncompat/vite.config.ts new file mode 100644 index 00000000..97826748 --- /dev/null +++ b/packages/ncompat/vite.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from 'vite' +import dts from 'vite-plugin-dts' +import pkg from './package.json' assert { type: 'json' } + +export default defineConfig({ + build: { + lib: { + entry: 'src/index.ts', + formats: ['es'], + fileName: () => 'index.js' + }, + outDir: 'build', + target: 'es2015', + sourcemap: true, + minify: true, + rollupOptions: { + external: [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.peerDependencies || {})] + } + }, + plugins: [dts({ tsconfigPath: 'tsconfig.json', outDir: 'build' })] +}) diff --git a/packages/nreact/package.json b/packages/nreact/package.json index c86397de..5ce14131 100644 --- a/packages/nreact/package.json +++ b/packages/nreact/package.json @@ -18,8 +18,8 @@ "node": ">=22.16.0" }, "scripts": { - "build": "tsc && tsup", - "watch": "tsup --watch --silent --onSuccess 'echo build successful'", + "build": "tsc && vite build", + "watch": "vite build --watch --mode development", "prerelease": "standard-version --skip.changelog --prerelease", "release": "standard-version --release-as", "pu": "pnpm publish" diff --git a/packages/nreact/tsup.config.ts b/packages/nreact/tsup.config.ts deleted file mode 100644 index 76417091..00000000 --- a/packages/nreact/tsup.config.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Options, defineConfig } from 'tsup' - -const baseConfig: Options = { - entry: [ - 'src/index.tsx', - 'src/third-party/code.tsx', - 'src/third-party/collection.tsx', - 'src/third-party/equation.tsx', - 'src/third-party/modal.tsx', - 'src/third-party/pdf.tsx' - ], - outDir: 'build', - target: 'es2015', - platform: 'browser', - format: ['esm'], - splitting: true, - minify: true, - shims: false -} - -export default defineConfig([ - { - ...baseConfig, - outDir: 'build/dev', - minify: false, - sourcemap: true - }, - { - ...baseConfig, - outDir: 'build', - minify: false, - sourcemap: false - } -]) diff --git a/packages/nreact/vite.config.ts b/packages/nreact/vite.config.ts new file mode 100644 index 00000000..ce62845a --- /dev/null +++ b/packages/nreact/vite.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from 'vite' +import dts from 'vite-plugin-dts' +import pkg from './package.json' assert { type: 'json' } + +export default defineConfig({ + build: { + lib: { + entry: 'src/index.tsx', + formats: ['es'], + fileName: () => 'index.js' + }, + outDir: 'build', + target: 'es2015', + sourcemap: true, + minify: true, + rollupOptions: { + external: [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.peerDependencies || {})] + } + }, + plugins: [dts({ tsconfigPath: 'tsconfig.json', outDir: 'build' })] +}) diff --git a/packages/ntypes/package.json b/packages/ntypes/package.json index c5f1514c..7749a1e0 100644 --- a/packages/ntypes/package.json +++ b/packages/ntypes/package.json @@ -14,10 +14,11 @@ "build" ], "scripts": { - "build": "tsc && tsup", + "build": "tsc && vite build", "prerelease": "standard-version --skip.changelog --prerelease", "release": "standard-version --release-as", - "pu": "pnpm publish" + "pu": "pnpm publish", + "watch": "vite build --watch --mode development" }, "engines": { "node": ">=22.16.0" diff --git a/packages/ntypes/tsup.config.ts b/packages/ntypes/tsup.config.ts deleted file mode 100644 index a137fa3c..00000000 --- a/packages/ntypes/tsup.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig({ - entry: ['src/index.ts'], - outDir: 'build', - target: 'node14', - platform: 'node', - format: ['esm'], - splitting: true, - dts: true, - sourcemap: true, - minify: true, - shims: false -}) diff --git a/packages/ntypes/vite.config.ts b/packages/ntypes/vite.config.ts new file mode 100644 index 00000000..97826748 --- /dev/null +++ b/packages/ntypes/vite.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from 'vite' +import dts from 'vite-plugin-dts' +import pkg from './package.json' assert { type: 'json' } + +export default defineConfig({ + build: { + lib: { + entry: 'src/index.ts', + formats: ['es'], + fileName: () => 'index.js' + }, + outDir: 'build', + target: 'es2015', + sourcemap: true, + minify: true, + rollupOptions: { + external: [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.peerDependencies || {})] + } + }, + plugins: [dts({ tsconfigPath: 'tsconfig.json', outDir: 'build' })] +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6d58f108..7b2a73da 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,9 +53,6 @@ importers: standard-version: specifier: ^9.5.0 version: 9.5.0 - tsup: - specifier: ^8.5.0 - version: 8.5.0(@microsoft/api-extractor@7.43.0(@types/node@22.15.30))(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3) tsx: specifier: ^4.19.4 version: 4.19.4 @@ -884,11 +881,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.14.1: - resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} - engines: {node: '>=0.4.0'} - hasBin: true - add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} @@ -919,9 +911,6 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -1006,12 +995,6 @@ packages: axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} - engines: {node: '>= 0.4'} - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} bl@4.1.0: @@ -1072,21 +1055,6 @@ packages: engines: {node: '>=6'} camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - canvas@3.0.0-rc3: - resolution: {integrity: sha512-LJVkMp4AH7/IRoLvhLS6R09uBt9O3O0mhCYL34AQV/+OC39jmTv22pJTF5Mgfa3V2JnzGl21MVrhEKmtmPtfQA==} - engines: {node: ^18.12.0 || >= 20.9.0} - - chai@5.2.0: - resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} - engines: {node: '>=12'} - chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -1696,9 +1664,6 @@ packages: fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - fdir@6.4.4: - resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} - peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: picomatch: @@ -2172,10 +2137,6 @@ packages: resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} isexe@2.0.0: @@ -2246,17 +2207,6 @@ packages: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - - jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - - jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - - jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} @@ -2414,12 +2364,6 @@ packages: engines: {node: '>=8.6'} mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - - mimic-response@2.1.0: - resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} - engines: {node: '>=8'} mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} @@ -2655,31 +2599,6 @@ packages: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - path2d@0.2.1: - resolution: {integrity: sha512-Fl2z/BHvkTNvkuBzYTpTuirHZg6wW9z8+4SND/3mDTEcYbbNKWAy21dz9D3ePNNwrrK8pqZO5vLPZ1hLF6T7XA==} - engines: {node: '>=6'} - - pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - - pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} - engines: {node: '>= 14.16'} - - pdfjs-dist@4.8.69: - resolution: {integrity: sha512-IHZsA4T7YElCKNNXtiLgqScw4zPd3pG9do8UrznC757gMd7UPeHSL2qwNNMJo4r79fl8oj1Xx+1nh2YkzdMpLQ==} - engines: {node: '>=18'} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} picomatch@4.0.2: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} @@ -2823,14 +2742,6 @@ packages: '@types/react': optional: true - react-universal-interface@0.6.2: - resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} - peerDependencies: - react: '*' - tslib: '*' - - react-use@17.6.0: - resolution: {integrity: sha512-OmedEScUMKFfzn1Ir8dBxiLLSOzhKe/dPZwVxcujweSj45aNM7BEGPb9BEVIgVEqEXx6f3/TsXzwIktNgUR02g==} peerDependencies: react: '*' react-dom: '*' @@ -3014,10 +2925,6 @@ packages: engines: {node: '>= 0.4'} side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} engines: {node: '>= 0.4'} @@ -3141,49 +3048,8 @@ packages: string.prototype.trimstart@1.0.8: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - stringify-package@1.0.1: - resolution: {integrity: sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==} - deprecated: This module is not used anymore, and has been replaced by @npmcli/package-json - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - - strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - stylis@4.3.0: - resolution: {integrity: sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==} - - sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} @@ -3411,9 +3277,6 @@ packages: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} - typed-array-buffer@1.0.3: - resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} - engines: {node: '>= 0.4'} typed-array-byte-length@1.0.1: resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} @@ -3539,12 +3402,6 @@ packages: yaml: optional: true - vitest@3.2.2: - resolution: {integrity: sha512-fyNn/Rp016Bt5qvY0OQvIUCwW2vnaEBLxP42PmKbNIoasSYjML+8xyeADOPvBe+Xfl/ubIw4og7Lt9jflRsCNw==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 '@vitest/browser': 3.2.2 @@ -4240,10 +4097,6 @@ snapshots: dependencies: '@babel/parser': 7.27.5 '@vue/shared': 3.5.16 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.16': dependencies: '@vue/compiler-core': 3.5.16 @@ -4422,11 +4275,6 @@ snapshots: ast-v8-to-istanbul@0.3.3: dependencies: '@jridgewell/trace-mapping': 0.3.25 - estree-walker: 3.0.3 - js-tokens: 9.0.1 - - available-typed-arrays@1.0.7: - dependencies: possible-typed-array-names: 1.0.0 axe-core@4.10.2: {} @@ -4503,17 +4351,7 @@ snapshots: call-bind-apply-helpers: 1.0.1 get-intrinsic: 1.2.6 - call-bound@1.0.4: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - callsites@3.1.0: {} - - camelcase-keys@6.2.2: - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 quick-lru: 4.0.1 camelcase@5.3.1: {} @@ -5354,12 +5192,6 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 - - fast-json-stable-stringify@2.1.0: {} - - fast-levenshtein@2.0.6: {} - fast-shallow-equal@1.0.0: {} fastest-stable-stringify@2.0.2: {} @@ -5865,8 +5697,6 @@ snapshots: dependencies: call-bound: 1.0.3 - is-weakset@2.0.4: - dependencies: call-bound: 1.0.4 get-intrinsic: 1.2.6 @@ -5928,12 +5758,6 @@ snapshots: json-buffer@3.0.1: {} - json-parse-better-errors@1.0.2: {} - - json-parse-even-better-errors@2.3.1: {} - - json-schema-traverse@0.4.1: {} - json-stable-stringify-without-jsonify@1.0.1: {} json-stringify-safe@5.0.1: {} @@ -6080,20 +5904,7 @@ snapshots: normalize-package-data: 3.0.3 read-pkg-up: 7.0.1 redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 - merge-refs@1.3.0(@types/react@19.1.6): - optionalDependencies: - '@types/react': 19.1.6 - - merge2@1.4.1: {} - - micromatch@4.0.5: - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 mimic-fn@4.0.0: {} @@ -6323,22 +6134,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.21.4 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - path-browserify@1.0.1: {} - - path-exists@3.0.0: {} - - path-exists@4.0.0: {} - - path-is-absolute@1.0.1: {} - path-key@3.1.1: {} - - path-parse@1.0.7: {} path-scurry@1.11.1: dependencies: @@ -6514,10 +6310,6 @@ snapshots: nano-css: 5.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - react-universal-interface: 0.6.2(react@19.1.0)(tslib@2.6.2) - resize-observer-polyfill: 1.5.1 - screenfull: 5.2.0 - set-harmonic-interval: 1.0.1 throttle-debounce: 3.0.1 ts-easing: 0.2.0 tslib: 2.6.2 @@ -6740,10 +6532,6 @@ snapshots: side-channel-map@1.0.1: dependencies: - call-bound: 1.0.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.6 - object-inspect: 1.13.3 side-channel-weakmap@1.0.2: dependencies: @@ -6914,16 +6702,6 @@ snapshots: es-abstract: 1.23.7 es-object-atoms: 1.0.0 - string.prototype.trimend@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string.prototype.trimend@1.0.9: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.3 define-properties: 1.2.1 es-object-atoms: 1.0.0 @@ -6976,51 +6754,6 @@ snapshots: supports-color@5.5.0: dependencies: - has-flag: 3.0.0 - - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - supports-color@8.1.1: - dependencies: - has-flag: 4.0.0 - - supports-preserve-symlinks-flag@1.0.0: {} - - synckit@0.11.8: - dependencies: - '@pkgr/core': 0.2.4 - - synckit@0.8.8: - dependencies: - '@pkgr/core': 0.1.0 - tslib: 2.8.1 - - tapable@2.2.1: {} - - tar-fs@2.1.1: - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.2 - tar-stream: 2.2.0 - optional: true - - tar-stream@2.2.0: - dependencies: - tinyglobby@0.2.14: - dependencies: - fdir: 6.4.4(picomatch@4.0.2) - picomatch: 4.0.2 - - tinypool@1.1.0: {} - tinyspy@4.0.3: {} - tsup@8.5.0(@microsoft/api-extractor@7.43.0(@types/node@22.15.30))(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3): - '@microsoft/api-extractor': 7.43.0(@types/node@22.15.30) - readable-stream: 3.6.2 - optional: true - test-exclude@7.0.1: dependencies: '@istanbuljs/schema': 0.1.3 @@ -7209,8 +6942,6 @@ snapshots: has-proto: 1.2.0 is-typed-array: 1.1.13 - typed-array-byte-length@1.0.3: - dependencies: call-bind: 1.0.8 for-each: 0.3.3 gopd: 1.2.0 @@ -7349,14 +7080,6 @@ snapshots: vitest@3.2.2(@types/node@22.15.30)(tsx@4.19.4): dependencies: - '@types/chai': 5.2.2 - '@vitest/expect': 3.2.2 - '@vitest/mocker': 3.2.2(vite@6.3.5(@types/node@22.15.30)(tsx@4.19.4)) - '@vitest/pretty-format': 3.2.2 - '@vitest/runner': 3.2.2 - '@vitest/snapshot': 3.2.2 - '@vitest/spy': 3.2.2 - '@vitest/utils': 3.2.2 chai: 5.2.0 debug: 4.4.1 expect-type: 1.2.1 From 754a75edc8d6b9427455e37e03e20a222ae3b52a Mon Sep 17 00:00:00 2001 From: Seonglae Cho Date: Thu, 12 Jun 2025 00:39:37 +0100 Subject: [PATCH 5/5] docs: update build instructions for vite --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 637669ef..0a3bc3b1 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Refactored with [Turboplate](https://github.com/seonglae/turboplate). Search API ```zsh pnpm i -pnpm build # TSUp +pnpm build # Vite pnpm test # Vitest ``` @@ -58,7 +58,7 @@ pnpm turbo pu [Turboplate](https://github.com/seonglae/turboplate) stacks - `Turborepo` monorepo -- `TSup` build +- `Vite` build - `Vitest` test - `ESLint` lint - `Prettier` format