diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 7fb2dd9..61cde5e 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -1,4 +1,4 @@ { - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": ["github>rstackjs/renovate"] + $schema: 'https://docs.renovatebot.com/renovate-schema.json', + extends: ['github>rstackjs/renovate'], } diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a2ff6c6..bf7e4b8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,7 +5,7 @@ on: # Run `npm run bump` to bump the version and create a git tag. push: tags: - - "v*" + - 'v*' workflow_dispatch: @@ -22,9 +22,9 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Setup Node.js - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 + uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: - node-version: 24.14.0 + node-version: 24.15.0 # Update npm to the latest version to enable OIDC # Use corepack to install pnpm @@ -46,4 +46,4 @@ jobs: - name: Create GitHub Release uses: ncipollo/release-action@339a81892b84b4eeb0f6e744e4574d79d0d9b8dd # v1 with: - generateReleaseNotes: "true" + generateReleaseNotes: 'true' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ffc25be..07bf6a5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,17 +27,16 @@ jobs: run: npm i -g corepack@latest --force && corepack enable - name: Setup Node.js - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 + uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: - node-version: 24.14.0 - cache: "pnpm" + node-version: 24.15.0 + cache: 'pnpm' - name: Install Dependencies run: pnpm install && npx playwright install chromium - # TODO Biome fails on Windows - # - name: Run Linter - # run: pnpm run lint + - name: Lint + run: pnpm run lint - # - name: Run Test - # run: pnpm run test + - name: Build + run: pnpm run build diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..79e4884 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +# Ignore artifacts: +dist +pnpm-lock.yaml diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..544138b --- /dev/null +++ b/.prettierrc @@ -0,0 +1,3 @@ +{ + "singleQuote": true +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 699ed73..f172f18 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["biomejs.biome"] + "recommendations": ["rstack.rslint", "esbenp.prettier-vscode"] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 58f2f56..770e0e6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,18 +1,4 @@ { "search.useIgnoreFiles": true, - "[json]": { - "editor.defaultFormatter": "biomejs.biome" - }, - "[typescript]": { - "editor.defaultFormatter": "biomejs.biome" - }, - "[javascript]": { - "editor.defaultFormatter": "biomejs.biome" - }, - "[javascriptreact]": { - "editor.defaultFormatter": "biomejs.biome" - }, - "[css]": { - "editor.defaultFormatter": "biomejs.biome" - } + "editor.defaultFormatter": "esbenp.prettier-vscode" } diff --git a/README.md b/README.md index c960a39..53a152b 100644 --- a/README.md +++ b/README.md @@ -27,8 +27,8 @@ npm i -D rsbuild-plugin-devtools-json Add it to your Rsbuild config: ```js -import { defineConfig } from "@rsbuild/core"; -import { pluginDevtoolsJson } from "rsbuild-plugin-devtools-json"; +import { defineConfig } from '@rsbuild/core'; +import { pluginDevtoolsJson } from 'rsbuild-plugin-devtools-json'; export default defineConfig({ plugins: [ @@ -42,7 +42,7 @@ While the plugin can generate a UUID and save it in Rsbuild cache, you can also ```js pluginDevtoolsJson({ - uuid: "6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b", + uuid: '6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b', }); ``` @@ -50,7 +50,7 @@ You can also specify a custom root path for the DevTools project settings: ```js pluginDevtoolsJson({ - rootPath: "/path/to/custom/root", + rootPath: '/path/to/custom/root', }); ``` diff --git a/biome.json b/biome.json deleted file mode 100644 index 31d4ffd..0000000 --- a/biome.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "$schema": "https://biomejs.dev/schemas/2.0.4/schema.json", - "assist": { - "actions": { - "source": { - "organizeImports": "on" - } - } - }, - "vcs": { - "enabled": true, - "clientKind": "git", - "useIgnoreFile": true - }, - "formatter": { - "indentStyle": "space" - }, - "javascript": { - "formatter": { - "quoteStyle": "single" - } - }, - "css": { - "parser": { - "cssModules": true - } - }, - "linter": { - "enabled": true, - "rules": { - "recommended": true - } - } -} diff --git a/package.json b/package.json index b474247..f20f7a9 100644 --- a/package.json +++ b/package.json @@ -18,27 +18,22 @@ "build": "rslib", "bump": "npx bumpp", "dev": "rslib -w", - "format": "biome format --write", - "lint": "biome check", - "lint:write": "biome check . --write", - "prepare": "simple-git-hooks && npm run build" + "format": "prettier -w .", + "lint": "rslint && prettier -c .", + "lint:write": "rslint --fix && prettier -w .", + "prepare": "simple-git-hooks && pnpm run build" }, "simple-git-hooks": { - "pre-commit": "npx nano-staged" - }, - "nano-staged": { - "*.{js,jsx,ts,tsx,mjs,cjs}": [ - "biome check --write --no-errors-on-unmatched" - ] + "pre-commit": "pnpm run lint:write" }, "devDependencies": { - "@biomejs/biome": "2.4.8", - "@rslib/core": "0.20.0", - "@types/node": "24.12.0", - "nano-staged": "^0.9.0", + "@rslib/core": "0.21.3", + "@rslint/core": "^0.5.0", + "@types/node": "24.12.2", + "prettier": "^3.8.3", "simple-git-hooks": "^2.13.1", - "typescript": "^6.0.2", - "uuid": "^13.0.0" + "typescript": "^6.0.3", + "uuid": "^14.0.0" }, "peerDependencies": { "@rsbuild/core": "^1.4.0 || ^2.0.0-0" @@ -48,7 +43,7 @@ "optional": true } }, - "packageManager": "pnpm@10.33.0", + "packageManager": "pnpm@10.33.2", "engines": { "node": "^20.19.0 || >=22.12.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 05c2713..7cce5aa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,27 +12,27 @@ importers: specifier: ^1.4.0 || ^2.0.0-0 version: 2.0.0-beta.8(core-js@3.47.0) devDependencies: - '@biomejs/biome': - specifier: 2.4.8 - version: 2.4.8 '@rslib/core': - specifier: 0.20.0 - version: 0.20.0(core-js@3.47.0)(typescript@6.0.2) + specifier: 0.21.3 + version: 0.21.3(core-js@3.47.0)(typescript@6.0.3) + '@rslint/core': + specifier: ^0.5.0 + version: 0.5.1 '@types/node': - specifier: 24.12.0 - version: 24.12.0 - nano-staged: - specifier: ^0.9.0 - version: 0.9.0 + specifier: 24.12.2 + version: 24.12.2 + prettier: + specifier: ^3.8.3 + version: 3.8.3 simple-git-hooks: specifier: ^2.13.1 version: 2.13.1 typescript: - specifier: ^6.0.2 - version: 6.0.2 + specifier: ^6.0.3 + version: 6.0.3 uuid: - specifier: ^13.0.0 - version: 13.0.0 + specifier: ^14.0.0 + version: 14.0.0 playground: {} @@ -100,75 +100,33 @@ packages: resolution: {integrity: sha512-Hb4o6h1Pf6yRUAX07DR4JVY7dmQw+RVQMW5/m55GoiAT/VRoKCWBtIUPPOnqDVhbx1Cjfil9b6EDrgJsUAujEQ==} engines: {node: '>= 10'} - '@biomejs/biome@2.4.8': - resolution: {integrity: sha512-ponn0oKOky1oRXBV+rlSaUlixUxf1aZvWC19Z41zBfUOUesthrQqL3OtiAlSB1EjFjyWpn98Q64DHelhA6jNlA==} - engines: {node: '>=14.21.3'} - hasBin: true - - '@biomejs/cli-darwin-arm64@2.4.8': - resolution: {integrity: sha512-ARx0tECE8I7S2C2yjnWYLNbBdDoPdq3oyNLhMglmuctThwUsuzFWRKrHmIGwIRWKz0Mat9DuzLEDp52hGnrxGQ==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [darwin] - - '@biomejs/cli-darwin-x64@2.4.8': - resolution: {integrity: sha512-Jg9/PsB9vDCJlANE8uhG7qDhb5w0Ix69D7XIIc8IfZPUoiPrbLm33k2Ig3NOJ/7nb3UbesFz3D1aDKm9DvzjhQ==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [darwin] - - '@biomejs/cli-linux-arm64-musl@2.4.8': - resolution: {integrity: sha512-Zo9OhBQDJ3IBGPlqHiTISloo5H0+FBIpemqIJdW/0edJ+gEcLR+MZeZozcUyz3o1nXkVA7++DdRKQT0599j9jA==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@biomejs/cli-linux-arm64@2.4.8': - resolution: {integrity: sha512-5CdrsJct76XG2hpKFwXnEtlT1p+4g4yV+XvvwBpzKsTNLO9c6iLlAxwcae2BJ7ekPGWjNGw9j09T5KGPKKxQig==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@biomejs/cli-linux-x64-musl@2.4.8': - resolution: {integrity: sha512-Gi8quv8MEuDdKaPFtS2XjEnMqODPsRg6POT6KhoP+VrkNb+T2ywunVB+TvOU0LX1jAZzfBr+3V1mIbBhzAMKvw==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [linux] - libc: [musl] - - '@biomejs/cli-linux-x64@2.4.8': - resolution: {integrity: sha512-PdKXspVEaMCQLjtZCn6vfSck/li4KX9KGwSDbZdgIqlrizJ2MnMcE3TvHa2tVfXNmbjMikzcfJpuPWH695yJrw==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@biomejs/cli-win32-arm64@2.4.8': - resolution: {integrity: sha512-LoFatS0tnHv6KkCVpIy3qZCih+MxUMvdYiPWLHRri7mhi2vyOOs8OrbZBcLTUEWCS+ktO72nZMy4F96oMhkOHQ==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [win32] - - '@biomejs/cli-win32-x64@2.4.8': - resolution: {integrity: sha512-vAn7iXDoUbqFXqVocuq1sMYAd33p8+mmurqJkWl6CtIhobd/O6moe4rY5AJvzbunn/qZCdiDVcveqtkFh1e7Hg==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [win32] + '@emnapi/core@1.10.0': + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} '@emnapi/core@1.5.0': resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==} + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + '@emnapi/runtime@1.5.0': resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==} '@emnapi/wasi-threads@1.1.0': resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + '@napi-rs/wasm-runtime@1.0.7': resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} + '@napi-rs/wasm-runtime@1.1.4': + resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} + peerDependencies: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 + '@rsbuild/core@2.0.0-beta.8': resolution: {integrity: sha512-MUxbKJPE1agOK3eCHjKvBIiA+CcZ0TJU/ANKDBLMjK2Er+wq4r5c2ne53+Pi7DtIExoMbSSWBx+RP3CMewKGVA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -179,75 +137,192 @@ packages: core-js: optional: true - '@rslib/core@0.20.0': - resolution: {integrity: sha512-hsRwjMbBla8lyKIVR0gFsK5M3j+LSbFOTafvbT0QR90ehZXwlu+EhpHJv8v/uIRT50RVlgCrcT+LCVr1oU3pbA==} + '@rsbuild/core@2.0.1': + resolution: {integrity: sha512-5TwUpb10Y+VYaYH8oLL/rfJGrhxrk16BiGzv101kzaMPT60MtOXgjEUTxztbjRuq0ifbtRJ/w7rsIZQ4VziWYg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + core-js: '>= 3.0.0' + peerDependenciesMeta: + core-js: + optional: true + + '@rslib/core@0.21.3': + resolution: {integrity: sha512-3kyF273GQWIky4rAGD+Nkewlc7OraRwM2rG6wMJ19cYeomN0OKokVbk0vvfLAcQu43mtEO+dnZk6BchUoRmQOg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@microsoft/api-extractor': ^7 - typescript: ^5 + typescript: ^5 || ^6 peerDependenciesMeta: '@microsoft/api-extractor': optional: true typescript: optional: true + '@rslint/core@0.5.1': + resolution: {integrity: sha512-UGcalhkpNvm4zN7E2DiQsuwM10LMi3CazOiANVevf5hn+NB7WKEMWYKn3bFySptg7Ll042IKMUlIXaFQjWs9lQ==} + hasBin: true + peerDependencies: + jiti: ^2.0.0 + peerDependenciesMeta: + jiti: + optional: true + + '@rslint/darwin-arm64@0.5.1': + resolution: {integrity: sha512-grbPKhrRv0BTKvdByIIlS5avc4ttF9vylaStJh/TTYS96cTkjCcTv7RAUv/ZI3VSaSZdRBcW4f6wW9pPWpt41w==} + cpu: [arm64] + os: [darwin] + + '@rslint/darwin-x64@0.5.1': + resolution: {integrity: sha512-v7P5AYWzm4Xrly5nl5yXSAyHn6j9pwZyFFUTD9UCOodZMEVmBxW3WxdL9iq8PfnG5n8GXHqTqBSYwWfG1WWD0g==} + cpu: [x64] + os: [darwin] + + '@rslint/linux-arm64@0.5.1': + resolution: {integrity: sha512-czDNVvgea0LpTlqaRvZHulJn8RmmDso2DufIWedxIA9yfK+nEK4H0tANNVQL4NBTHiv/6cqQw8NveP3KD5I93g==} + cpu: [arm64] + os: [linux] + + '@rslint/linux-x64@0.5.1': + resolution: {integrity: sha512-D0isbtok26OSjSQkWDDfTWPLQDqrufbTbiihMFxkDlIRKDGcU9HvnfTlEmgnwzkxt6Jm7CBZZiXdFtyhPgnWEg==} + cpu: [x64] + os: [linux] + + '@rslint/win32-arm64@0.5.1': + resolution: {integrity: sha512-XnU369fuTR9EqFhRMmbg+rHO3T/gwC+VV2AC1HAvZ62/pgNjFQmlK6IEsU293sgXHOUnRIQ6IsC9J0imyrCMXQ==} + cpu: [arm64] + os: [win32] + + '@rslint/win32-x64@0.5.1': + resolution: {integrity: sha512-7++ELodvfVPFDSYEMVWb7OA+BD2JeONXtwXP/vmbrcawBTff7E/6VREB8dGPYCNh/ypBuSQ2WYXUtYAxQxwSiQ==} + cpu: [x64] + os: [win32] + + '@rspack/binding-darwin-arm64@2.0.0': + resolution: {integrity: sha512-ICBHDKYyndFqljLhjxvKfWWZu39RJSH2jkSmbceXl0kmptLSE0cLWpvk+eGSzLqtxKN0jVchwCw+5P5mWCzwAw==} + cpu: [arm64] + os: [darwin] + '@rspack/binding-darwin-arm64@2.0.0-beta.6': resolution: {integrity: sha512-FQ8zflthQJJf0cM0vDFnfnXrTOnRvwz886tiafbwu1RO5qmh+pJH+xg1eQaLPnRPqLTlcmnpngyacYFUxw+1AA==} cpu: [arm64] os: [darwin] + '@rspack/binding-darwin-x64@2.0.0': + resolution: {integrity: sha512-YQ96LMmzIzhZt9cZWUDWXSxS9UWWHWoLxJyZ5f42DSaVPVelBg5ThbVORDwOP5QDA2xFXj60rVnmmcZLzg/aDA==} + cpu: [x64] + os: [darwin] + '@rspack/binding-darwin-x64@2.0.0-beta.6': resolution: {integrity: sha512-Cr4P19anOIaHtK8Z20Hl12PPUcs3LM24ZSQPfs0gPS0etzSOE4JRsqW/79GnnjZd/A+Wola/dZcnMVS44e3c3A==} cpu: [x64] os: [darwin] + '@rspack/binding-linux-arm64-gnu@2.0.0': + resolution: {integrity: sha512-Ufn33gzkIV7JY69k6vJQEdOzRvBqThIgH46pwXksHSMwRZp8IbJhXfyYIAVsRWCk8fXpr9t1nAvCDvJXT2EeyA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@rspack/binding-linux-arm64-gnu@2.0.0-beta.6': resolution: {integrity: sha512-MgTzspaj3v9/4T3KQ/fRuj+cit3BnEcgFe4OP+BvUWlTQvxlckDWpDymVhPuIqpx7pJvLcXwdz8mQhvZ87AD5g==} cpu: [arm64] os: [linux] libc: [glibc] + '@rspack/binding-linux-arm64-musl@2.0.0': + resolution: {integrity: sha512-CZbvFKlNY9UC0C+Czz6i8JFCzGpuL9oX8gEqcJA1+84Y6eEEBH50UiTzeCewxKW3dOofkZdvT5vgNMXz6aMUmg==} + cpu: [arm64] + os: [linux] + libc: [musl] + '@rspack/binding-linux-arm64-musl@2.0.0-beta.6': resolution: {integrity: sha512-5vyjbrj3u8x4Crb77QvFJSZkq7QwOuVJff8oStbS/v7cC+NEAQQYB/6Bl0JwyDFAcMMX8ZRyaDjc1o1qQ0Q31g==} cpu: [arm64] os: [linux] libc: [musl] + '@rspack/binding-linux-x64-gnu@2.0.0': + resolution: {integrity: sha512-dPjFGpoCvZfFpJBsWAUR+PR7mWYxpou6L026qIOpAVkz7WiTzErwKD3P1jVrpP4dM9yLb3fVE+PHHjTglhTJ4g==} + cpu: [x64] + os: [linux] + libc: [glibc] + '@rspack/binding-linux-x64-gnu@2.0.0-beta.6': resolution: {integrity: sha512-GmNJgFHoK5LFQ2m96HrXIgf1zZNe+4yaaOD/5qqcI163QXRqRflfZprmdr2L4R6VsU2i+YQ2Ap2s20Y/zSt6RQ==} cpu: [x64] os: [linux] libc: [glibc] + '@rspack/binding-linux-x64-musl@2.0.0': + resolution: {integrity: sha512-4fgDTMWt0mJDiugdia2mdOjTbnm7yM1Drzl1JpPqlUlOr113byOhc+qgN57LURSGypz2yz/h/Zad7/UnVAxYJw==} + cpu: [x64] + os: [linux] + libc: [musl] + '@rspack/binding-linux-x64-musl@2.0.0-beta.6': resolution: {integrity: sha512-tI2S3v8yXel5GL3yPnBNnFZ/dye4TyRM2j7mfJ49M6uTWjfRFyAcuxqw7z9Pyvyhsc1AoOnnXejtqqJpZkBQoA==} cpu: [x64] os: [linux] libc: [musl] + '@rspack/binding-wasm32-wasi@2.0.0': + resolution: {integrity: sha512-ANk73ZKtPrZf9gdtyRK2nQUfhi1uXoC5P2KF89pyVAE8+zcoLBnYtZGYpWa/cmNi5BcO5g4Z+v2l1UA3bUPLQQ==} + cpu: [wasm32] + '@rspack/binding-wasm32-wasi@2.0.0-beta.6': resolution: {integrity: sha512-Bv9o1zZIDTOzjbliyAwMOGjsL6wiGIPRttJ9CLsdRoKI5XcMTEFHjwlnm1Zs4/EP+zC+bTgseq1EFngIy+nZRg==} cpu: [wasm32] + '@rspack/binding-win32-arm64-msvc@2.0.0': + resolution: {integrity: sha512-IHZFRtJ85ONbM+BCtF4TeYXS2Fu9X0IJS2phX1rPibYq9iEtHGfBt4cNlnsJPhbPAXVvi4Oli/yiLRJ1zxtCIg==} + cpu: [arm64] + os: [win32] + '@rspack/binding-win32-arm64-msvc@2.0.0-beta.6': resolution: {integrity: sha512-R/j0VTVKn3gU4a0xKAXJUX6jzmanHsuBHtLSpgnRqKW/20csFzsnsqY9PxaiAObTHVPMCrNvTG5KXHYIqYgACg==} cpu: [arm64] os: [win32] + '@rspack/binding-win32-ia32-msvc@2.0.0': + resolution: {integrity: sha512-n4tbIqacq/FhNJflMlgZV50AeQFTLh5hnDS3v4W+rJWa3IW1VfgB0+XppdeW+Dqhw7QcMIsCmro01kwNdlXZDQ==} + cpu: [ia32] + os: [win32] + '@rspack/binding-win32-ia32-msvc@2.0.0-beta.6': resolution: {integrity: sha512-v3Gc+gRFTBNLSmyHAgI6mE30W94T0g8jD7S1qamUfX6i50YjDylyiMG1prG/8i/YVNWQynQeQi4Cjfg+Hi7alQ==} cpu: [ia32] os: [win32] + '@rspack/binding-win32-x64-msvc@2.0.0': + resolution: {integrity: sha512-cJOgikIW2t3S+42TQZsv+DJriJt2m6lnUk+pUFu/fO93rrMvNrx8gfMxR8W5zDTreBX0cfMx2pw6EVmyi/YzsQ==} + cpu: [x64] + os: [win32] + '@rspack/binding-win32-x64-msvc@2.0.0-beta.6': resolution: {integrity: sha512-PjaKOG2rQqzOwsmu03EAyTb7oA52CrO1I8JXiBT07adrDysHvKV/Gi+P0XPuDLDMnxNpndoGJMmvfxsymRpwyA==} cpu: [x64] os: [win32] + '@rspack/binding@2.0.0': + resolution: {integrity: sha512-WA2f9eQpejkvf5Vrnf6wNCn1m8RT1p08NjgOZpKhsCzr0uBjWeRvGduawlrFFHZh/jPnWZTVaVdQ08FEAWbwGw==} + '@rspack/binding@2.0.0-beta.6': resolution: {integrity: sha512-oJytPDJT57cz2is0e/e1myWVNxn+ZcII1/fF2Y3TiXVUIihLC/KDm6ISTgaZKr8ZyjTlVIV3V4wSO7IHlYV6aw==} + '@rspack/core@2.0.0': + resolution: {integrity: sha512-WD1mJM9LbZ7Z399Rbv9dE3BNEV0+3sE5OzDdzV8hOxUb3mX++ynK5n9kil8w60B6nGdcKeV9ly5aN4PgqiwWUg==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + '@module-federation/runtime-tools': ^0.24.1 || ^2.0.0 + '@swc/helpers': '>=0.5.1' + peerDependenciesMeta: + '@module-federation/runtime-tools': + optional: true + '@swc/helpers': + optional: true + '@rspack/core@2.0.0-beta.6': resolution: {integrity: sha512-dvi10ijR9Rr0W75GRFqWvswAEdLBsbXCGhxzm6zXxFNSanNL9s9xPelZ8XfnIU13QZkN2VNHGl9O/8KQEmYdEw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -263,31 +338,44 @@ packages: '@swc/helpers@0.5.19': resolution: {integrity: sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==} + '@swc/helpers@0.5.21': + resolution: {integrity: sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==} + '@tybys/wasm-util@0.10.1': resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} - '@types/node@24.12.0': - resolution: {integrity: sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ==} + '@types/node@24.12.2': + resolution: {integrity: sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==} core-js@3.47.0: resolution: {integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==} - nano-staged@0.9.0: - resolution: {integrity: sha512-0JfyX4i0Vp5HhC9RDtJ1kp7psz8CFuS3Gya3Z6WZv//QCwA9dPzi1S803VdR0c0P6R7sSvweZ5mSJmYQ/N+loQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + engines: {node: '>=12'} - rsbuild-plugin-dts@0.20.0: - resolution: {integrity: sha512-CnTJTB59zzQFjPVEjpOaaEw5BeK/eTY6kwt4l5Lr9d3HQk3VRDSKfLWY/hpeZMbZzpCk2TqLrqIhS6a+jg7k7g==} + prettier@3.8.3: + resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} + engines: {node: '>=14'} + hasBin: true + + rsbuild-plugin-dts@0.21.3: + resolution: {integrity: sha512-8E3/npwRp99gc/Bl5bE1KKN5eIS2TQ3fuA7fBEk67R1RF7V4OtFKVI7mhk3X8zoH/9cclV9v909dguegZDgncw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@microsoft/api-extractor': ^7 '@rsbuild/core': ^1.0.0 || ^2.0.0-0 '@typescript/native-preview': 7.x - typescript: ^5 + typescript: ^5 || ^6 peerDependenciesMeta: '@microsoft/api-extractor': optional: true @@ -300,19 +388,23 @@ packages: resolution: {integrity: sha512-WszCLXwT4h2k1ufIXAgsbiTOazqqevFCIncOuUBZJ91DdvWcC5+OFkluWRQPrcuSYd8fjq+o2y1QfWqYMoAToQ==} hasBin: true + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - typescript@6.0.2: - resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==} + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} hasBin: true undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} - uuid@13.0.0: - resolution: {integrity: sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==} + uuid@14.0.0: + resolution: {integrity: sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==} hasBin: true snapshots: @@ -356,39 +448,10 @@ snapshots: '@ast-grep/napi-win32-ia32-msvc': 0.37.0 '@ast-grep/napi-win32-x64-msvc': 0.37.0 - '@biomejs/biome@2.4.8': - optionalDependencies: - '@biomejs/cli-darwin-arm64': 2.4.8 - '@biomejs/cli-darwin-x64': 2.4.8 - '@biomejs/cli-linux-arm64': 2.4.8 - '@biomejs/cli-linux-arm64-musl': 2.4.8 - '@biomejs/cli-linux-x64': 2.4.8 - '@biomejs/cli-linux-x64-musl': 2.4.8 - '@biomejs/cli-win32-arm64': 2.4.8 - '@biomejs/cli-win32-x64': 2.4.8 - - '@biomejs/cli-darwin-arm64@2.4.8': - optional: true - - '@biomejs/cli-darwin-x64@2.4.8': - optional: true - - '@biomejs/cli-linux-arm64-musl@2.4.8': - optional: true - - '@biomejs/cli-linux-arm64@2.4.8': - optional: true - - '@biomejs/cli-linux-x64-musl@2.4.8': - optional: true - - '@biomejs/cli-linux-x64@2.4.8': - optional: true - - '@biomejs/cli-win32-arm64@2.4.8': - optional: true - - '@biomejs/cli-win32-x64@2.4.8': + '@emnapi/core@1.10.0': + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 optional: true '@emnapi/core@1.5.0': @@ -397,6 +460,11 @@ snapshots: tslib: 2.8.1 optional: true + '@emnapi/runtime@1.10.0': + dependencies: + tslib: 2.8.1 + optional: true + '@emnapi/runtime@1.5.0': dependencies: tslib: 2.8.1 @@ -407,6 +475,11 @@ snapshots: tslib: 2.8.1 optional: true + '@emnapi/wasi-threads@1.2.1': + dependencies: + tslib: 2.8.1 + optional: true + '@napi-rs/wasm-runtime@1.0.7': dependencies: '@emnapi/core': 1.5.0 @@ -414,6 +487,13 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.1 + optional: true + '@rsbuild/core@2.0.0-beta.8(core-js@3.47.0)': dependencies: '@rspack/core': 2.0.0-beta.6(@swc/helpers@0.5.19) @@ -423,49 +503,135 @@ snapshots: transitivePeerDependencies: - '@module-federation/runtime-tools' - '@rslib/core@0.20.0(core-js@3.47.0)(typescript@6.0.2)': + '@rsbuild/core@2.0.1(core-js@3.47.0)': + dependencies: + '@rspack/core': 2.0.0(@swc/helpers@0.5.21) + '@swc/helpers': 0.5.21 + optionalDependencies: + core-js: 3.47.0 + transitivePeerDependencies: + - '@module-federation/runtime-tools' + + '@rslib/core@0.21.3(core-js@3.47.0)(typescript@6.0.3)': dependencies: - '@rsbuild/core': 2.0.0-beta.8(core-js@3.47.0) - rsbuild-plugin-dts: 0.20.0(@rsbuild/core@2.0.0-beta.8(core-js@3.47.0))(typescript@6.0.2) + '@rsbuild/core': 2.0.1(core-js@3.47.0) + rsbuild-plugin-dts: 0.21.3(@rsbuild/core@2.0.1(core-js@3.47.0))(typescript@6.0.3) optionalDependencies: - typescript: 6.0.2 + typescript: 6.0.3 transitivePeerDependencies: - '@module-federation/runtime-tools' - '@typescript/native-preview' - core-js + '@rslint/core@0.5.1': + dependencies: + picomatch: 4.0.4 + tinyglobby: 0.2.15 + optionalDependencies: + '@rslint/darwin-arm64': 0.5.1 + '@rslint/darwin-x64': 0.5.1 + '@rslint/linux-arm64': 0.5.1 + '@rslint/linux-x64': 0.5.1 + '@rslint/win32-arm64': 0.5.1 + '@rslint/win32-x64': 0.5.1 + + '@rslint/darwin-arm64@0.5.1': + optional: true + + '@rslint/darwin-x64@0.5.1': + optional: true + + '@rslint/linux-arm64@0.5.1': + optional: true + + '@rslint/linux-x64@0.5.1': + optional: true + + '@rslint/win32-arm64@0.5.1': + optional: true + + '@rslint/win32-x64@0.5.1': + optional: true + + '@rspack/binding-darwin-arm64@2.0.0': + optional: true + '@rspack/binding-darwin-arm64@2.0.0-beta.6': optional: true + '@rspack/binding-darwin-x64@2.0.0': + optional: true + '@rspack/binding-darwin-x64@2.0.0-beta.6': optional: true + '@rspack/binding-linux-arm64-gnu@2.0.0': + optional: true + '@rspack/binding-linux-arm64-gnu@2.0.0-beta.6': optional: true + '@rspack/binding-linux-arm64-musl@2.0.0': + optional: true + '@rspack/binding-linux-arm64-musl@2.0.0-beta.6': optional: true + '@rspack/binding-linux-x64-gnu@2.0.0': + optional: true + '@rspack/binding-linux-x64-gnu@2.0.0-beta.6': optional: true + '@rspack/binding-linux-x64-musl@2.0.0': + optional: true + '@rspack/binding-linux-x64-musl@2.0.0-beta.6': optional: true + '@rspack/binding-wasm32-wasi@2.0.0': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + optional: true + '@rspack/binding-wasm32-wasi@2.0.0-beta.6': dependencies: '@napi-rs/wasm-runtime': 1.0.7 optional: true + '@rspack/binding-win32-arm64-msvc@2.0.0': + optional: true + '@rspack/binding-win32-arm64-msvc@2.0.0-beta.6': optional: true + '@rspack/binding-win32-ia32-msvc@2.0.0': + optional: true + '@rspack/binding-win32-ia32-msvc@2.0.0-beta.6': optional: true + '@rspack/binding-win32-x64-msvc@2.0.0': + optional: true + '@rspack/binding-win32-x64-msvc@2.0.0-beta.6': optional: true + '@rspack/binding@2.0.0': + optionalDependencies: + '@rspack/binding-darwin-arm64': 2.0.0 + '@rspack/binding-darwin-x64': 2.0.0 + '@rspack/binding-linux-arm64-gnu': 2.0.0 + '@rspack/binding-linux-arm64-musl': 2.0.0 + '@rspack/binding-linux-x64-gnu': 2.0.0 + '@rspack/binding-linux-x64-musl': 2.0.0 + '@rspack/binding-wasm32-wasi': 2.0.0 + '@rspack/binding-win32-arm64-msvc': 2.0.0 + '@rspack/binding-win32-ia32-msvc': 2.0.0 + '@rspack/binding-win32-x64-msvc': 2.0.0 + '@rspack/binding@2.0.0-beta.6': optionalDependencies: '@rspack/binding-darwin-arm64': 2.0.0-beta.6 @@ -479,6 +645,12 @@ snapshots: '@rspack/binding-win32-ia32-msvc': 2.0.0-beta.6 '@rspack/binding-win32-x64-msvc': 2.0.0-beta.6 + '@rspack/core@2.0.0(@swc/helpers@0.5.21)': + dependencies: + '@rspack/binding': 2.0.0 + optionalDependencies: + '@swc/helpers': 0.5.21 + '@rspack/core@2.0.0-beta.6(@swc/helpers@0.5.19)': dependencies: '@rspack/binding': 2.0.0-beta.6 @@ -489,37 +661,48 @@ snapshots: dependencies: tslib: 2.8.1 + '@swc/helpers@0.5.21': + dependencies: + tslib: 2.8.1 + '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 optional: true - '@types/node@24.12.0': + '@types/node@24.12.2': dependencies: undici-types: 7.16.0 core-js@3.47.0: optional: true - nano-staged@0.9.0: - dependencies: - picocolors: 1.1.1 + fdir@6.5.0(picomatch@4.0.4): + optionalDependencies: + picomatch: 4.0.4 - picocolors@1.1.1: {} + picomatch@4.0.4: {} - rsbuild-plugin-dts@0.20.0(@rsbuild/core@2.0.0-beta.8(core-js@3.47.0))(typescript@6.0.2): + prettier@3.8.3: {} + + rsbuild-plugin-dts@0.21.3(@rsbuild/core@2.0.1(core-js@3.47.0))(typescript@6.0.3): dependencies: '@ast-grep/napi': 0.37.0 - '@rsbuild/core': 2.0.0-beta.8(core-js@3.47.0) + '@rsbuild/core': 2.0.1(core-js@3.47.0) optionalDependencies: - typescript: 6.0.2 + typescript: 6.0.3 simple-git-hooks@2.13.1: {} + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + tslib@2.8.1: {} - typescript@6.0.2: {} + typescript@6.0.3: {} undici-types@7.16.0: {} - uuid@13.0.0: {} + uuid@14.0.0: {} diff --git a/rslint.config.ts b/rslint.config.ts new file mode 100644 index 0000000..5055b09 --- /dev/null +++ b/rslint.config.ts @@ -0,0 +1,3 @@ +import { defineConfig, ts } from '@rslint/core'; + +export default defineConfig([ts.configs.recommended]); diff --git a/tsconfig.json b/tsconfig.json index acd230a..81265de 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,13 +1,15 @@ { "compilerOptions": { - "rootDir": "src", - "lib": ["ES2023"], - "module": "nodenext", - "moduleResolution": "nodenext", - "noEmit": true, - "skipLibCheck": true, + "rootDir": "./src", + "outDir": "./dist", + "target": "ES2023", + "types": ["node"], + "lib": ["DOM", "ESNext"], + "declaration": true, "isolatedModules": true, - "useDefineForClassFields": true + "skipLibCheck": true, + "module": "nodenext", + "moduleResolution": "nodenext" }, "include": ["src"] }