diff --git a/biome.jsonc b/biome.jsonc index 0664316..e1b4521 100644 --- a/biome.jsonc +++ b/biome.jsonc @@ -1,27 +1,24 @@ { - "$schema": "https://biomejs.dev/schemas/2.4.7/schema.json", - "vcs": { - "enabled": true, - "clientKind": "git", - "useIgnoreFile": true - }, - "formatter": { - "enabled": true, - "indentStyle": "space", - "lineEnding": "lf" - }, - "assist": { - "actions": { - "source": { - "organizeImports": "on" - } - } + "$schema": "https://biomejs.dev/schemas/2.4.9/schema.json", + "extends": ["@gameroman/config/biome"], + "files": { + "includes": ["**", "!!tests/fixtures"] }, "linter": { "rules": { - "a11y": "off", + "suspicious": { + "noEmptyInterface": "off", + "noImplicitAnyLet": "warn", + "noAssignInExpressions": "warn", + "noExplicitAny": "warn", + "useIterableCallbackReturn": "warn", + "noDoubleEquals": "warn", + "noThenProperty": "warn", + "noShadowRestrictedNames": "warn", + "noFallthroughSwitchClause": "warn" + }, "style": { - "useNodejsImportProtocol": "error" + "useShorthandFunctionType": "off" } } } diff --git a/bun.lock b/bun.lock index 15e8c27..9f2b796 100644 --- a/bun.lock +++ b/bun.lock @@ -5,94 +5,95 @@ "": { "name": "rolldown-plugin-solid", "dependencies": { - "@babel/core": "^8.0.0-rc.2", - "@babel/helper-module-imports": "^8.0.0-rc.2", - "@babel/helper-plugin-utils": "^8.0.0-rc.2", - "@babel/helper-validator-option": "^8.0.0-rc.2", - "@babel/template": "^8.0.0-rc.2", - "@babel/traverse": "^8.0.0-rc.2", - "@babel/types": "^8.0.0-rc.2", + "@babel/core": "^8.0.0-rc.3", + "@babel/helper-module-imports": "^8.0.0-rc.3", + "@babel/helper-plugin-utils": "^8.0.0-rc.3", + "@babel/helper-validator-option": "^8.0.0-rc.3", + "@babel/template": "^8.0.0-rc.3", + "@babel/traverse": "^8.0.0-rc.3", + "@babel/types": "^8.0.0-rc.3", "html-entities": "2.6.0", "parse5": "^8.0.0", }, "devDependencies": { - "@biomejs/biome": "2.4.7", - "@types/bun": "^1.3.10", + "@biomejs/biome": "2.4.9", + "@gameroman/config": "^0.0.5", + "@types/bun": "^1.3.11", "@types/node": "^25.5.0", - "solid-js": "1.9.11", - "tsdown": "^0.21.3", - "typescript": "^5.9.3", + "solid-js": "1.9.12", + "tsdown": "^0.21.7", + "typescript": "^6.0.2", }, "peerDependencies": { "csstype": "^3.1.0", - "rolldown": "^1.0.0-rc.9 || ^1.0.0", - "seroval": "~1.3.0 || ~1.5.0", - "solid-js": ">=1.9.0", + "rolldown": "^1.0.0-rc.12", + "seroval": "~1.5.0", + "solid-js": ">=1.9.12", }, }, }, "overrides": { - "@babel/code-frame": "8.0.0-rc.2", - "@babel/core": "8.0.0-rc.2", - "@babel/helper-module-imports": "8.0.0-rc.2", - "@babel/helper-plugin-utils": "8.0.0-rc.2", - "@babel/helper-validator-identifier": "8.0.0-rc.2", - "@babel/helper-validator-option": "8.0.0-rc.2", - "@babel/parser": "8.0.0-rc.2", - "@babel/template": "8.0.0-rc.2", - "@babel/traverse": "8.0.0-rc.2", - "@babel/types": "8.0.0-rc.2", + "@babel/code-frame": "8.0.0-rc.3", + "@babel/core": "8.0.0-rc.3", + "@babel/helper-module-imports": "8.0.0-rc.3", + "@babel/helper-plugin-utils": "8.0.0-rc.3", + "@babel/helper-validator-identifier": "8.0.0-rc.3", + "@babel/helper-validator-option": "8.0.0-rc.3", + "@babel/parser": "8.0.0-rc.3", + "@babel/template": "8.0.0-rc.3", + "@babel/traverse": "8.0.0-rc.3", + "@babel/types": "8.0.0-rc.3", }, "packages": { - "@babel/code-frame": ["@babel/code-frame@8.0.0-rc.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^8.0.0-rc.2", "js-tokens": "^10.0.0" } }, "sha512-zbPFBDbQdChkGN02WRc/BcOvZLDTctFJZVeWkciVr82T5V0GVBXztq4/Wi4Ca+ZKx7U+Kdt5b862cpFJ4Cjf1A=="], + "@babel/code-frame": ["@babel/code-frame@8.0.0-rc.3", "", { "dependencies": { "@babel/helper-validator-identifier": "^8.0.0-rc.3", "js-tokens": "^10.0.0" } }, "sha512-585nwYQGQKKc+jMIAPeZJ+aGMn4FHmIUUjLZa9zI7mslvYmShnx0u7rFA4gliRip6S2vkwTYrMxPeXadkKW93Q=="], - "@babel/compat-data": ["@babel/compat-data@8.0.0-rc.2", "", {}, "sha512-zDrQeMrDVCkisxxjZmP+xeAyGfZCVOwP+7VECgOvMXttb+1pTUMpeEYI0LaozIzeES/Uvu7OqhHLb3oN1qo6Wg=="], + "@babel/compat-data": ["@babel/compat-data@8.0.0-rc.3", "", {}, "sha512-TlS7d9xYz/93xC8ovkRBwTKPodbwPfzTn7TxUgZo4c3LwpPINnScqIlN0QRDE/x1S4C1bmyqxGmAZUIC0buW0A=="], - "@babel/core": ["@babel/core@8.0.0-rc.2", "", { "dependencies": { "@babel/code-frame": "^8.0.0-rc.2", "@babel/generator": "^8.0.0-rc.2", "@babel/helper-compilation-targets": "^8.0.0-rc.2", "@babel/helpers": "^8.0.0-rc.2", "@babel/parser": "^8.0.0-rc.2", "@babel/template": "^8.0.0-rc.2", "@babel/traverse": "^8.0.0-rc.2", "@babel/types": "^8.0.0-rc.2", "@jridgewell/remapping": "^2.3.5", "@types/gensync": "^1.0.0", "convert-source-map": "^2.0.0", "gensync": "^1.0.0-beta.2", "import-meta-resolve": "^4.2.0", "json5": "^2.2.3", "obug": "^2.1.1", "semver": "^7.7.3" }, "peerDependencies": { "@babel/preset-typescript": "^8.0.0-0" }, "optionalPeers": ["@babel/preset-typescript"] }, "sha512-mlBJdKJJEZNGDE+w+P6B5w+FTMkht1liPkxtB4wk39EpGH01Am5tg1htaNlOU5rO9Ge3psMjAFycpc3ru5uaQw=="], + "@babel/core": ["@babel/core@8.0.0-rc.3", "", { "dependencies": { "@babel/code-frame": "^8.0.0-rc.3", "@babel/generator": "^8.0.0-rc.3", "@babel/helper-compilation-targets": "^8.0.0-rc.3", "@babel/helpers": "^8.0.0-rc.3", "@babel/parser": "^8.0.0-rc.3", "@babel/template": "^8.0.0-rc.3", "@babel/traverse": "^8.0.0-rc.3", "@babel/types": "^8.0.0-rc.3", "@jridgewell/remapping": "^2.3.5", "@types/gensync": "^1.0.0", "convert-source-map": "^2.0.0", "gensync": "^1.0.0-beta.2", "import-meta-resolve": "^4.2.0", "json5": "^2.2.3", "obug": "^2.1.1", "semver": "^7.7.3" }, "peerDependencies": { "@babel/preset-typescript": "^8.0.0-0" }, "optionalPeers": ["@babel/preset-typescript"] }, "sha512-ov5mBbHiosqX1eqt8nN0JM7VuhirO6V8lln5rUXNZpNB+a9NnPTVYeDqSTBkf9C6GmFq3fnFlGT8eg3QBI7jJQ=="], - "@babel/generator": ["@babel/generator@8.0.0-rc.2", "", { "dependencies": { "@babel/parser": "^8.0.0-rc.2", "@babel/types": "^8.0.0-rc.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "@types/jsesc": "^2.5.0", "jsesc": "^3.0.2" } }, "sha512-oCQ1IKPwkzCeJzAPb7Fv8rQ9k5+1sG8mf2uoHiMInPYvkRfrDJxbTIbH51U+jstlkghus0vAi3EBvkfvEsYNLQ=="], + "@babel/generator": ["@babel/generator@8.0.0-rc.3", "", { "dependencies": { "@babel/parser": "^8.0.0-rc.3", "@babel/types": "^8.0.0-rc.3", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "@types/jsesc": "^2.5.0", "jsesc": "^3.0.2" } }, "sha512-em37/13/nR320G4jab/nIIHZgc2Wz2y/D39lxnTyxB4/D/omPQncl/lSdlnJY1OhQcRGugTSIF2l/69o31C9dA=="], - "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@8.0.0-rc.2", "", { "dependencies": { "@babel/compat-data": "^8.0.0-rc.2", "@babel/helper-validator-option": "^8.0.0-rc.2", "browserslist": "^4.24.0", "lru-cache": "^7.14.1", "semver": "^7.7.3" } }, "sha512-oMIhKru9gl3mj0eKDyKW6wBDAvyWoZd28d6V/m4JTeeiFsJLfOYnqu+s+cnK4jSo87cg/oj4hsATgkmZ3AzsDQ=="], + "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@8.0.0-rc.3", "", { "dependencies": { "@babel/compat-data": "^8.0.0-rc.3", "@babel/helper-validator-option": "^8.0.0-rc.3", "browserslist": "^4.24.0", "lru-cache": "^7.14.1", "semver": "^7.7.3" } }, "sha512-UXlT7t103KBJjiphN7Ij9DtELX2Q5uk1xMle7oN/eckxR8dmJyvbFsIm5u+cY0KZyF7qNkAiLsJljEPix1yfKg=="], - "@babel/helper-globals": ["@babel/helper-globals@8.0.0-rc.2", "", {}, "sha512-Q1AIOaW4EOxkI/8wYJKyLI59gfqTK3imFUfIqxuve0Q3GlOSrOTVmvHU6Gb3Y5GxtoS1hIzhO47k5GkfyGTQEQ=="], + "@babel/helper-globals": ["@babel/helper-globals@8.0.0-rc.3", "", {}, "sha512-rwtdZPunoa/IAlcZhgDoLxROXPW5evSN7SXMdObS8vNt7Wu6fCf8nLPFcuuhLCzeRoIrGNKx08v/XEQ4riQDGg=="], - "@babel/helper-module-imports": ["@babel/helper-module-imports@8.0.0-rc.2", "", { "dependencies": { "@babel/traverse": "^8.0.0-rc.2", "@babel/types": "^8.0.0-rc.2" } }, "sha512-9xSWdt/w6bA9sEcdxIDoNvnKZSGcUqeLQSWu0bh69xRV2Skj5vXSYXbFdYE4M8g/stEeNQ/9zSAs2OlSF3ZOOw=="], + "@babel/helper-module-imports": ["@babel/helper-module-imports@8.0.0-rc.3", "", { "dependencies": { "@babel/traverse": "^8.0.0-rc.3", "@babel/types": "^8.0.0-rc.3" } }, "sha512-D0kMl961jaPXb1Cb9ZehcoY4OOgPo1klsrry8BDuJWF6xO6a+72ZF6EH4Z5i94jcLYwJvApsKLytQvS4LtPAyg=="], - "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@8.0.0-rc.2", "", { "peerDependencies": { "@babel/core": "^8.0.0-rc.2" } }, "sha512-APa2p8RHBNGUmNPDYshswXQkS2sMNthL8VZSc9soe5lQfT2RXRXM6TwOLaktQwnNSwdoEy+Xu9q3qMdFrV92sg=="], + "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@8.0.0-rc.3", "", { "peerDependencies": { "@babel/core": "^8.0.0-rc.3" } }, "sha512-1+lvhojDf75++IwFRWrch4BBaznB2Z99GCfggHFWEKJ8B40iovZ8KqP0kDeb60ThuAa7WxCbtuYHfP5BtJL1kA=="], - "@babel/helper-string-parser": ["@babel/helper-string-parser@8.0.0-rc.2", "", {}, "sha512-noLx87RwlBEMrTzncWd/FvTxoJ9+ycHNg0n8yyYydIoDsLZuxknKgWRJUqcrVkNrJ74uGyhWQzQaS3q8xfGAhQ=="], + "@babel/helper-string-parser": ["@babel/helper-string-parser@8.0.0-rc.3", "", {}, "sha512-AmwWFx1m8G/a5cXkxLxTiWl+YEoWuoFLUCwqMlNuWO1tqAYITQAbCRPUkyBHv1VOFgfjVOqEj6L3u15J5ZCzTA=="], - "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@8.0.0-rc.2", "", {}, "sha512-xExUBkuXWJjVuIbO7z6q7/BA9bgfJDEhVL0ggrggLMbg0IzCUWGT1hZGE8qUH7Il7/RD/a6cZ3AAFrrlp1LF/A=="], + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@8.0.0-rc.3", "", {}, "sha512-8AWCJ2VJJyDFlGBep5GpaaQ9AAaE/FjAcrqI7jyssYhtL7WGV0DOKpJsQqM037xDbpRLHXsY8TwU7zDma7coOw=="], - "@babel/helper-validator-option": ["@babel/helper-validator-option@8.0.0-rc.2", "", {}, "sha512-EtxQopsocKue0ZdjnX5INoDiRN+RCBb1TDh3d0N8bM6aX0lyUhQfRNRQaKB+vCx+YvGjXWRf3JD6/YvTsf2qgQ=="], + "@babel/helper-validator-option": ["@babel/helper-validator-option@8.0.0-rc.3", "", {}, "sha512-wpzZ9KycQDqmJct4ee/ihua2KKdW/MXTDidD4Ya7HdUHL+Jp5zBZTj8oNrxc8wp5Qr4sofKgZF1GIyymfdq7+g=="], - "@babel/helpers": ["@babel/helpers@8.0.0-rc.2", "", { "dependencies": { "@babel/template": "^8.0.0-rc.2", "@babel/types": "^8.0.0-rc.2" } }, "sha512-Cc2IpMRiu8PDBUxtQ6oSkML0etJ27kZGnf3XE+qqAJJFGtVl549kyfvDWLywCAFhq16kHUe2WMZMdFUtPz6kWw=="], + "@babel/helpers": ["@babel/helpers@8.0.0-rc.3", "", { "dependencies": { "@babel/template": "^8.0.0-rc.3", "@babel/types": "^8.0.0-rc.3" } }, "sha512-dbPuulmsPOwIAXP4pGsKiAv1E50pKYmAJfWXYytCwLpgj6IDNUFAzGuVVemaphYP/WniKsCf42+Cfo4xpc4jjQ=="], - "@babel/parser": ["@babel/parser@8.0.0-rc.2", "", { "dependencies": { "@babel/types": "^8.0.0-rc.2" }, "bin": "./bin/babel-parser.js" }, "sha512-29AhEtcq4x8Dp3T72qvUMZHx0OMXCj4Jy/TEReQa+KWLln524Cj1fWb3QFi0l/xSpptQBR6y9RNEXuxpFvwiUQ=="], + "@babel/parser": ["@babel/parser@8.0.0-rc.3", "", { "dependencies": { "@babel/types": "^8.0.0-rc.3" }, "bin": "./bin/babel-parser.js" }, "sha512-B20dvP3MfNc/XS5KKCHy/oyWl5IA6Cn9YjXRdDlCjNmUFrjvLXMNUfQq/QUy9fnG2gYkKKcrto2YaF9B32ToOQ=="], - "@babel/template": ["@babel/template@8.0.0-rc.2", "", { "dependencies": { "@babel/code-frame": "^8.0.0-rc.2", "@babel/parser": "^8.0.0-rc.2", "@babel/types": "^8.0.0-rc.2" } }, "sha512-INp+KufeQpvU+V+gxR7xoiVzU6sRRQo8oOsCU/sTe0wtJ/Adrfgyet0i19qvXXSeuyiZ9+PV8IF/eEPzyJ527g=="], + "@babel/template": ["@babel/template@8.0.0-rc.3", "", { "dependencies": { "@babel/code-frame": "^8.0.0-rc.3", "@babel/parser": "^8.0.0-rc.3", "@babel/types": "^8.0.0-rc.3" } }, "sha512-9iet2svxZhCGgmt/b6M3Fbmy2i+OgjhXMDWNqDTBrNvb9Cc60NgETNIaJq6b0wICiCqpsFdIt8NYXMXyCQU6jA=="], - "@babel/traverse": ["@babel/traverse@8.0.0-rc.2", "", { "dependencies": { "@babel/code-frame": "^8.0.0-rc.2", "@babel/generator": "^8.0.0-rc.2", "@babel/helper-globals": "^8.0.0-rc.2", "@babel/parser": "^8.0.0-rc.2", "@babel/template": "^8.0.0-rc.2", "@babel/types": "^8.0.0-rc.2", "obug": "^2.1.1" } }, "sha512-H9ZChE8gRy4fSloEQaT17ijcFNoayS9JIyE0IUWkjYgldU+Czkg2h5XtuJmfIk6cbuHfDK/FFJox+g/TlmXB7g=="], + "@babel/traverse": ["@babel/traverse@8.0.0-rc.3", "", { "dependencies": { "@babel/code-frame": "^8.0.0-rc.3", "@babel/generator": "^8.0.0-rc.3", "@babel/helper-globals": "^8.0.0-rc.3", "@babel/parser": "^8.0.0-rc.3", "@babel/template": "^8.0.0-rc.3", "@babel/types": "^8.0.0-rc.3", "obug": "^2.1.1" } }, "sha512-3gvZCynaX+zxYZ2v5odaBBcc9eT4Yr7Gf16l3QSEvvBPVyMSZbYhsGAZfO79kjOCNJY2j6rWvNkWl1ZwYa64lQ=="], - "@babel/types": ["@babel/types@8.0.0-rc.2", "", { "dependencies": { "@babel/helper-string-parser": "^8.0.0-rc.2", "@babel/helper-validator-identifier": "^8.0.0-rc.2" } }, "sha512-91gAaWRznDwSX4E2tZ1YjBuIfnQVOFDCQ2r0Toby0gu4XEbyF623kXLMA8d4ZbCu+fINcrudkmEcwSUHgDDkNw=="], + "@babel/types": ["@babel/types@8.0.0-rc.3", "", { "dependencies": { "@babel/helper-string-parser": "^8.0.0-rc.3", "@babel/helper-validator-identifier": "^8.0.0-rc.3" } }, "sha512-mOm5ZrYmphGfqVWoH5YYMTITb3cDXsFgmvFlvkvWDMsR9X8RFnt7a0Wb6yNIdoFsiMO9WjYLq+U/FMtqIYAF8Q=="], - "@biomejs/biome": ["@biomejs/biome@2.4.7", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.4.7", "@biomejs/cli-darwin-x64": "2.4.7", "@biomejs/cli-linux-arm64": "2.4.7", "@biomejs/cli-linux-arm64-musl": "2.4.7", "@biomejs/cli-linux-x64": "2.4.7", "@biomejs/cli-linux-x64-musl": "2.4.7", "@biomejs/cli-win32-arm64": "2.4.7", "@biomejs/cli-win32-x64": "2.4.7" }, "bin": { "biome": "bin/biome" } }, "sha512-vXrgcmNGZ4lpdwZSpMf1hWw1aWS6B+SyeSYKTLrNsiUsAdSRN0J4d/7mF3ogJFbIwFFSOL3wT92Zzxia/d5/ng=="], + "@biomejs/biome": ["@biomejs/biome@2.4.9", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.4.9", "@biomejs/cli-darwin-x64": "2.4.9", "@biomejs/cli-linux-arm64": "2.4.9", "@biomejs/cli-linux-arm64-musl": "2.4.9", "@biomejs/cli-linux-x64": "2.4.9", "@biomejs/cli-linux-x64-musl": "2.4.9", "@biomejs/cli-win32-arm64": "2.4.9", "@biomejs/cli-win32-x64": "2.4.9" }, "bin": { "biome": "bin/biome" } }, "sha512-wvZW92FrwitTcacvCBT8xdAbfbxWfDLwjYMmU3djjqQTh7Ni4ZdiWIT/x5VcZ+RQuxiKzIOzi5D+dcyJDFZMsA=="], - "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.4.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Oo0cF5mHzmvDmTXw8XSjhCia8K6YrZnk7aCS54+/HxyMdZMruMO3nfpDsrlar/EQWe41r1qrwKiCa2QDYHDzWA=="], + "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.4.9", "", { "os": "darwin", "cpu": "arm64" }, "sha512-d5G8Gf2RpH5pYwiHLPA+UpG3G9TLQu4WM+VK6sfL7K68AmhcEQ9r+nkj/DvR/GYhYox6twsHUtmWWWIKfcfQQA=="], - "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.4.7", "", { "os": "darwin", "cpu": "x64" }, "sha512-I+cOG3sd/7HdFtvDSnF9QQPrWguUH7zrkIMMykM3PtfWU9soTcS2yRb9Myq6MHmzbeCT08D1UmY+BaiMl5CcoQ=="], + "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.4.9", "", { "os": "darwin", "cpu": "x64" }, "sha512-LNCLNgqDMG7BLdc3a8aY/dwKPK7+R8/JXJoXjCvZh2gx8KseqBdFDKbhrr7HCWF8SzNhbTaALhTBoh/I6rf9lA=="], - "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.4.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-om6FugwmibzfP/6ALj5WRDVSND4H2G9X0nkI1HZpp2ySf9lW2j0X68oQSaHEnls6666oy4KDsc5RFjT4m0kV0w=="], + "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.4.9", "", { "os": "linux", "cpu": "arm64" }, "sha512-4adnkAUi6K4C/emPRgYznMOcLlUqZdXWM6aIui4VP4LraE764g6Q4YguygnAUoxKjKIXIWPteKMgRbN0wsgwcg=="], - "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.4.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-I2NvM9KPb09jWml93O2/5WMfNR7Lee5Latag1JThDRMURVhPX74p9UDnyTw3Ae6cE1DgXfw7sqQgX7rkvpc0vw=="], + "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.4.9", "", { "os": "linux", "cpu": "arm64" }, "sha512-8RCww5xnPn2wpK4L/QDGDOW0dq80uVWfppPxHIUg6mOs9B6gRmqPp32h1Ls3T8GnW8Wo5A8u7vpTwz4fExN+sw=="], - "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.4.7", "", { "os": "linux", "cpu": "x64" }, "sha512-bV8/uo2Tj+gumnk4sUdkerWyCPRabaZdv88IpbmDWARQQoA/Q0YaqPz1a+LSEDIL7OfrnPi9Hq1Llz4ZIGyIQQ=="], + "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.4.9", "", { "os": "linux", "cpu": "x64" }, "sha512-L10na7POF0Ks/cgLFNF1ZvIe+X4onLkTi5oP9hY+Rh60Q+7fWzKDDCeGyiHUFf1nGIa9dQOOUPGe2MyYg8nMSQ=="], - "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.4.7", "", { "os": "linux", "cpu": "x64" }, "sha512-00kx4YrBMU8374zd2wHuRV5wseh0rom5HqRND+vDldJPrWwQw+mzd/d8byI9hPx926CG+vWzq6AeiT7Yi5y59g=="], + "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.4.9", "", { "os": "linux", "cpu": "x64" }, "sha512-5TD+WS9v5vzXKzjetF0hgoaNFHMcpQeBUwKKVi3JbG1e9UCrFuUK3Gt185fyTzvRdwYkJJEMqglRPjmesmVv4A=="], - "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.4.7", "", { "os": "win32", "cpu": "arm64" }, "sha512-hOUHBMlFCvDhu3WCq6vaBoG0dp0LkWxSEnEEsxxXvOa9TfT6ZBnbh72A/xBM7CBYB7WgwqboetzFEVDnMxelyw=="], + "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.4.9", "", { "os": "win32", "cpu": "arm64" }, "sha512-aDZr0RBC3sMGJOU10BvG7eZIlWLK/i51HRIfScE2lVhfts2dQTreowLiJJd+UYg/tHKxS470IbzpuKmd0MiD6g=="], - "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.4.7", "", { "os": "win32", "cpu": "x64" }, "sha512-qEpGjSkPC3qX4ycbMUthXvi9CkRq7kZpkqMY1OyhmYlYLnANnooDQ7hDerM8+0NJ+DZKVnsIc07h30XOpt7LtQ=="], + "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.4.9", "", { "os": "win32", "cpu": "x64" }, "sha512-NS4g/2G9SoQ4ktKtz31pvyc/rmgzlcIDCGU/zWbmHJAqx6gcRj2gj5Q/guXhoWTzCUaQZDIqiCQXHS7BcGYc0w=="], "@emnapi/core": ["@emnapi/core@1.8.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" } }, "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg=="], @@ -100,6 +101,8 @@ "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="], + "@gameroman/config": ["@gameroman/config@0.0.5", "", { "peerDependencies": { "@biomejs/biome": "^2.4.8", "oxfmt": ">=0.42.0", "oxlint": "^1.57.0", "oxlint-tsgolint": ">=0.17.3", "typescript": "^6.0.2" }, "optionalPeers": ["@biomejs/biome", "oxfmt", "oxlint", "oxlint-tsgolint", "typescript"] }, "sha512-3taKIh9g36v5q/RWUJmZW5kKciOyRVxFzZGAH9w6rkIVirp+oB+bIxHdG3yjk2NTMqSiuI1qvebbteXDvoeLhQ=="], + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.12", "", { "dependencies": { "@jridgewell/sourcemap-codec": "1.5.4", "@jridgewell/trace-mapping": "0.3.29" } }, "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg=="], "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], @@ -112,45 +115,45 @@ "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.1", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" } }, "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A=="], - "@oxc-project/types": ["@oxc-project/types@0.115.0", "", {}, "sha512-4n91DKnebUS4yjUHl2g3/b2T+IUdCfmoZGhmwsovZCDaJSs+QkVAM+0AqqTxHSsHfeiMuueT75cZaZcT/m0pSw=="], + "@oxc-project/types": ["@oxc-project/types@0.122.0", "", {}, "sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA=="], "@quansync/fs": ["@quansync/fs@1.0.0", "", { "dependencies": { "quansync": "^1.0.0" } }, "sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ=="], - "@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.0-rc.9", "", { "os": "android", "cpu": "arm64" }, "sha512-lcJL0bN5hpgJfSIz/8PIf02irmyL43P+j1pTCfbD1DbLkmGRuFIA4DD3B3ZOvGqG0XiVvRznbKtN0COQVaKUTg=="], + "@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.0-rc.12", "", { "os": "android", "cpu": "arm64" }, "sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA=="], - "@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.0-rc.9", "", { "os": "darwin", "cpu": "arm64" }, "sha512-J7Zk3kLYFsLtuH6U+F4pS2sYVzac0qkjcO5QxHS7OS7yZu2LRs+IXo+uvJ/mvpyUljDJ3LROZPoQfgBIpCMhdQ=="], + "@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.0-rc.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-cFYr6zTG/3PXXF3pUO+umXxt1wkRK/0AYT8lDwuqvRC+LuKYWSAQAQZjCWDQpAH172ZV6ieYrNnFzVVcnSflAg=="], - "@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.0.0-rc.9", "", { "os": "darwin", "cpu": "x64" }, "sha512-iwtmmghy8nhfRGeNAIltcNXzD0QMNaaA5U/NyZc1Ia4bxrzFByNMDoppoC+hl7cDiUq5/1CnFthpT9n+UtfFyg=="], + "@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.0.0-rc.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-ZCsYknnHzeXYps0lGBz8JrF37GpE9bFVefrlmDrAQhOEi4IOIlcoU1+FwHEtyXGx2VkYAvhu7dyBf75EJQffBw=="], - "@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.0.0-rc.9", "", { "os": "freebsd", "cpu": "x64" }, "sha512-DLFYI78SCiZr5VvdEplsVC2Vx53lnA4/Ga5C65iyldMVaErr86aiqCoNBLl92PXPfDtUYjUh+xFFor40ueNs4Q=="], + "@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.0.0-rc.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-dMLeprcVsyJsKolRXyoTH3NL6qtsT0Y2xeuEA8WQJquWFXkEC4bcu1rLZZSnZRMtAqwtrF/Ib9Ddtpa/Gkge9Q=="], - "@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.9", "", { "os": "linux", "cpu": "arm" }, "sha512-CsjTmTwd0Hri6iTw/DRMK7kOZ7FwAkrO4h8YWKoX/kcj833e4coqo2wzIFywtch/8Eb5enQ/lwLM7w6JX1W5RQ=="], + "@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.12", "", { "os": "linux", "cpu": "arm" }, "sha512-YqWjAgGC/9M1lz3GR1r1rP79nMgo3mQiiA+Hfo+pvKFK1fAJ1bCi0ZQVh8noOqNacuY1qIcfyVfP6HoyBRZ85Q=="], - "@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.0.0-rc.9", "", { "os": "linux", "cpu": "arm64" }, "sha512-2x9O2JbSPxpxMDhP9Z74mahAStibTlrBMW0520+epJH5sac7/LwZW5Bmg/E6CXuEF53JJFW509uP+lSedaUNxg=="], + "@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.0.0-rc.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-/I5AS4cIroLpslsmzXfwbe5OmWvSsrFuEw3mwvbQ1kDxJ822hFHIx+vsN/TAzNVyepI/j/GSzrtCIwQPeKCLIg=="], - "@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.0.0-rc.9", "", { "os": "linux", "cpu": "arm64" }, "sha512-JA1QRW31ogheAIRhIg9tjMfsYbglXXYGNPLdPEYrwFxdbkQCAzvpSCSHCDWNl4hTtrol8WeboCSEpjdZK8qrCg=="], + "@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.0.0-rc.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-V6/wZztnBqlx5hJQqNWwFdxIKN0m38p8Jas+VoSfgH54HSj9tKTt1dZvG6JRHcjh6D7TvrJPWFGaY9UBVOaWPw=="], - "@rolldown/binding-linux-ppc64-gnu": ["@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.9", "", { "os": "linux", "cpu": "ppc64" }, "sha512-aOKU9dJheda8Kj8Y3w9gnt9QFOO+qKPAl8SWd7JPHP+Cu0EuDAE5wokQubLzIDQWg2myXq2XhTpOVS07qqvT+w=="], + "@rolldown/binding-linux-ppc64-gnu": ["@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-AP3E9BpcUYliZCxa3w5Kwj9OtEVDYK6sVoUzy4vTOJsjPOgdaJZKFmN4oOlX0Wp0RPV2ETfmIra9x1xuayFB7g=="], - "@rolldown/binding-linux-s390x-gnu": ["@rolldown/binding-linux-s390x-gnu@1.0.0-rc.9", "", { "os": "linux", "cpu": "s390x" }, "sha512-OalO94fqj7IWRn3VdXWty75jC5dk4C197AWEuMhIpvVv2lw9fiPhud0+bW2ctCxb3YoBZor71QHbY+9/WToadA=="], + "@rolldown/binding-linux-s390x-gnu": ["@rolldown/binding-linux-s390x-gnu@1.0.0-rc.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-nWwpvUSPkoFmZo0kQazZYOrT7J5DGOJ/+QHHzjvNlooDZED8oH82Yg67HvehPPLAg5fUff7TfWFHQS8IV1n3og=="], - "@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.0.0-rc.9", "", { "os": "linux", "cpu": "x64" }, "sha512-cVEl1vZtBsBZna3YMjGXNvnYYrOJ7RzuWvZU0ffvJUexWkukMaDuGhUXn0rjnV0ptzGVkvc+vW9Yqy6h8YX4pg=="], + "@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.0.0-rc.12", "", { "os": "linux", "cpu": "x64" }, "sha512-RNrafz5bcwRy+O9e6P8Z/OCAJW/A+qtBczIqVYwTs14pf4iV1/+eKEjdOUta93q2TsT/FI0XYDP3TCky38LMAg=="], - "@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.0.0-rc.9", "", { "os": "linux", "cpu": "x64" }, "sha512-UzYnKCIIc4heAKgI4PZ3dfBGUZefGCJ1TPDuLHoCzgrMYPb5Rv6TLFuYtyM4rWyHM7hymNdsg5ik2C+UD9VDbA=="], + "@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.0.0-rc.12", "", { "os": "linux", "cpu": "x64" }, "sha512-Jpw/0iwoKWx3LJ2rc1yjFrj+T7iHZn2JDg1Yny1ma0luviFS4mhAIcd1LFNxK3EYu3DHWCps0ydXQ5i/rrJ2ig=="], - "@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.0.0-rc.9", "", { "os": "none", "cpu": "arm64" }, "sha512-+6zoiF+RRyf5cdlFQP7nm58mq7+/2PFaY2DNQeD4B87N36JzfF/l9mdBkkmTvSYcYPE8tMh/o3cRlsx1ldLfog=="], + "@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.0.0-rc.12", "", { "os": "none", "cpu": "arm64" }, "sha512-vRugONE4yMfVn0+7lUKdKvN4D5YusEiPilaoO2sgUWpCvrncvWgPMzK00ZFFJuiPgLwgFNP5eSiUlv2tfc+lpA=="], - "@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.0.0-rc.9", "", { "dependencies": { "@napi-rs/wasm-runtime": "^1.1.1" }, "cpu": "none" }, "sha512-rgFN6sA/dyebil3YTlL2evvi/M+ivhfnyxec7AccTpRPccno/rPoNlqybEZQBkcbZu8Hy+eqNJCqfBR8P7Pg8g=="], + "@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.0.0-rc.12", "", { "dependencies": { "@napi-rs/wasm-runtime": "^1.1.1" }, "cpu": "none" }, "sha512-ykGiLr/6kkiHc0XnBfmFJuCjr5ZYKKofkx+chJWDjitX+KsJuAmrzWhwyOMSHzPhzOHOy7u9HlFoa5MoAOJ/Zg=="], - "@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.0.0-rc.9", "", { "os": "win32", "cpu": "arm64" }, "sha512-lHVNUG/8nlF1IQk1C0Ci574qKYyty2goMiPlRqkC5R+3LkXDkL5Dhx8ytbxq35m+pkHVIvIxviD+TWLdfeuadA=="], + "@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.0.0-rc.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-5eOND4duWkwx1AzCxadcOrNeighiLwMInEADT0YM7xeEOOFcovWZCq8dadXgcRHSf3Ulh1kFo/qvzoFiCLOL1Q=="], - "@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.0.0-rc.9", "", { "os": "win32", "cpu": "x64" }, "sha512-G0oA4+w1iY5AGi5HcDTxWsoxF509hrFIPB2rduV5aDqS9FtDg1CAfa7V34qImbjfhIcA8C+RekocJZA96EarwQ=="], + "@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.0.0-rc.12", "", { "os": "win32", "cpu": "x64" }, "sha512-PyqoipaswDLAZtot351MLhrlrh6lcZPo2LSYE+VDxbVk24LVKAGOuE4hb8xZQmrPAuEtTZW8E6D2zc5EUZX4Lw=="], - "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-rc.9", "", {}, "sha512-w6oiRWgEBl04QkFZgmW+jnU1EC9b57Oihi2ot3HNWIQRqgHp5PnYDia5iZ5FF7rpa4EQdiqMDXjlqKGXBhsoXw=="], + "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-rc.12", "", {}, "sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw=="], "@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], - "@types/bun": ["@types/bun@1.3.10", "", { "dependencies": { "bun-types": "1.3.10" } }, "sha512-0+rlrUrOrTSskibryHbvQkDOWRJwJZqZlxrUs1u4oOoTln8+WIXBPmAuCF35SWB2z4Zl3E84Nl/D0P7803nigQ=="], + "@types/bun": ["@types/bun@1.3.11", "", { "dependencies": { "bun-types": "1.3.11" } }, "sha512-5vPne5QvtpjGpsGYXiFyycfpDF2ECyPcTSsFBMa0fraoxiQyMJ3SmuQIGhzPg2WJuWxVBoxWJ2kClYTcw/4fAg=="], "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], @@ -168,7 +171,7 @@ "browserslist": ["browserslist@4.25.1", "", { "dependencies": { "caniuse-lite": "1.0.30001733", "electron-to-chromium": "1.5.199", "node-releases": "2.0.19", "update-browserslist-db": "1.1.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw=="], - "bun-types": ["bun-types@1.3.10", "", { "dependencies": { "@types/node": "*" } }, "sha512-tcpfCCl6XWo6nCVnpcVrxQ+9AYN1iqMIzgrSKYMB/fjLtV2eyAVEg7AxQJuCq/26R6HpKWykQXuSOq/21RYcbg=="], + "bun-types": ["bun-types@1.3.11", "", { "dependencies": { "@types/node": "*" } }, "sha512-1KGPpoxQWl9f6wcZh57LvrPIInQMn2TQ7jsgxqpRzg+l0QPOFvJVH7HmvHo/AiPgwXy+/Thf6Ov3EdVn1vOabg=="], "cac": ["cac@7.0.0", "", {}, "sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ=="], @@ -196,9 +199,9 @@ "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], - "get-tsconfig": ["get-tsconfig@4.13.6", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw=="], + "get-tsconfig": ["get-tsconfig@4.13.7", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q=="], - "hookable": ["hookable@6.0.1", "", {}, "sha512-uKGyY8BuzN/a5gvzvA+3FVWo0+wUjgtfSdnmjtrOVwQCZPHpHDH2WRO3VZSOeluYrHoDCiXFffZXs8Dj1ULWtw=="], + "hookable": ["hookable@6.1.0", "", {}, "sha512-ZoKZSJgu8voGK2geJS+6YtYjvIzu9AOM/KZXsBxr83uhLL++e9pEv/dlgwgy3dvHg06kTz6JOh1hk3C8Ceiymw=="], "html-entities": ["html-entities@2.6.0", "", {}, "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ=="], @@ -224,15 +227,15 @@ "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], + "picomatch": ["picomatch@4.0.4", "", {}, "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A=="], "quansync": ["quansync@1.0.0", "", {}, "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA=="], "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], - "rolldown": ["rolldown@1.0.0-rc.9", "", { "dependencies": { "@oxc-project/types": "=0.115.0", "@rolldown/pluginutils": "1.0.0-rc.9" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.0-rc.9", "@rolldown/binding-darwin-arm64": "1.0.0-rc.9", "@rolldown/binding-darwin-x64": "1.0.0-rc.9", "@rolldown/binding-freebsd-x64": "1.0.0-rc.9", "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.9", "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.9", "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.9", "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.9", "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.9", "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.9", "@rolldown/binding-linux-x64-musl": "1.0.0-rc.9", "@rolldown/binding-openharmony-arm64": "1.0.0-rc.9", "@rolldown/binding-wasm32-wasi": "1.0.0-rc.9", "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.9", "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.9" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-9EbgWge7ZH+yqb4d2EnELAntgPTWbfL8ajiTW+SyhJEC4qhBbkCKbqFV4Ge4zmu5ziQuVbWxb/XwLZ+RIO7E8Q=="], + "rolldown": ["rolldown@1.0.0-rc.12", "", { "dependencies": { "@oxc-project/types": "=0.122.0", "@rolldown/pluginutils": "1.0.0-rc.12" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.0-rc.12", "@rolldown/binding-darwin-arm64": "1.0.0-rc.12", "@rolldown/binding-darwin-x64": "1.0.0-rc.12", "@rolldown/binding-freebsd-x64": "1.0.0-rc.12", "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.12", "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.12", "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.12", "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.12", "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.12", "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.12", "@rolldown/binding-linux-x64-musl": "1.0.0-rc.12", "@rolldown/binding-openharmony-arm64": "1.0.0-rc.12", "@rolldown/binding-wasm32-wasi": "1.0.0-rc.12", "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.12", "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.12" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-yP4USLIMYrwpPHEFB5JGH1uxhcslv6/hL0OyvTuY+3qlOSJvZ7ntYnoWpehBxufkgN0cvXxppuTu5hHa/zPh+A=="], - "rolldown-plugin-dts": ["rolldown-plugin-dts@0.22.5", "", { "dependencies": { "@babel/generator": "8.0.0-rc.2", "@babel/helper-validator-identifier": "8.0.0-rc.2", "@babel/parser": "8.0.0-rc.2", "@babel/types": "8.0.0-rc.2", "ast-kit": "^3.0.0-beta.1", "birpc": "^4.0.0", "dts-resolver": "^2.1.3", "get-tsconfig": "^4.13.6", "obug": "^2.1.1" }, "peerDependencies": { "@ts-macro/tsc": "^0.3.6", "@typescript/native-preview": ">=7.0.0-dev.20250601.1", "rolldown": "^1.0.0-rc.3", "typescript": "^5.0.0 || ^6.0.0-beta", "vue-tsc": "~3.2.0" }, "optionalPeers": ["@ts-macro/tsc", "@typescript/native-preview", "typescript", "vue-tsc"] }, "sha512-M/HXfM4cboo+jONx9Z0X+CUf3B5tCi7ni+kR5fUW50Fp9AlZk0oVLesibGWgCXDKFp5lpgQ9yhKoImUFjl3VZw=="], + "rolldown-plugin-dts": ["rolldown-plugin-dts@0.23.2", "", { "dependencies": { "@babel/generator": "8.0.0-rc.3", "@babel/helper-validator-identifier": "8.0.0-rc.3", "@babel/parser": "8.0.0-rc.3", "@babel/types": "8.0.0-rc.3", "ast-kit": "^3.0.0-beta.1", "birpc": "^4.0.0", "dts-resolver": "^2.1.3", "get-tsconfig": "^4.13.7", "obug": "^2.1.1", "picomatch": "^4.0.4" }, "peerDependencies": { "@ts-macro/tsc": "^0.3.6", "@typescript/native-preview": ">=7.0.0-dev.20260325.1", "rolldown": "^1.0.0-rc.12", "typescript": "^5.0.0 || ^6.0.0", "vue-tsc": "~3.2.0" }, "optionalPeers": ["@ts-macro/tsc", "@typescript/native-preview", "typescript", "vue-tsc"] }, "sha512-PbSqLawLgZBGcOGT3yqWBGn4cX+wh2nt5FuBGdcMHyOhoukmjbhYAl8NT9sE4U38Cm9tqLOIQeOrvzeayM0DLQ=="], "semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], @@ -240,7 +243,7 @@ "seroval-plugins": ["seroval-plugins@1.5.0", "", { "peerDependencies": { "seroval": "^1.0" } }, "sha512-EAHqADIQondwRZIdeW2I636zgsODzoBDwb3PT/+7TLDWyw1Dy/Xv7iGUIEXXav7usHDE9HVhOU61irI3EnyyHA=="], - "solid-js": ["solid-js@1.9.11", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.5.0", "seroval-plugins": "~1.5.0" } }, "sha512-WEJtcc5mkh/BnHA6Yrg4whlF8g6QwpmXXRg4P2ztPmcKeHHlH4+djYecBLhSpecZY2RRECXYUwIc/C2r3yzQ4Q=="], + "solid-js": ["solid-js@1.9.12", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.5.0", "seroval-plugins": "~1.5.0" } }, "sha512-QzKaSJq2/iDrWR1As6MHZQ8fQkdOBf8GReYb7L5iKwMGceg7HxDcaOHk0at66tNgn9U2U7dXo8ZZpLIAmGMzgw=="], "tinyexec": ["tinyexec@1.0.4", "", {}, "sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw=="], @@ -248,17 +251,17 @@ "tree-kill": ["tree-kill@1.2.2", "", { "bin": { "tree-kill": "cli.js" } }, "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="], - "tsdown": ["tsdown@0.21.3", "", { "dependencies": { "ansis": "^4.2.0", "cac": "^7.0.0", "defu": "^6.1.4", "empathic": "^2.0.0", "hookable": "^6.0.1", "import-without-cache": "^0.2.5", "obug": "^2.1.1", "picomatch": "^4.0.3", "rolldown": "1.0.0-rc.9", "rolldown-plugin-dts": "^0.22.5", "semver": "^7.7.4", "tinyexec": "^1.0.4", "tinyglobby": "^0.2.15", "tree-kill": "^1.2.2", "unconfig-core": "^7.5.0", "unrun": "^0.2.32" }, "peerDependencies": { "@arethetypeswrong/core": "^0.18.1", "@tsdown/css": "0.21.3", "@tsdown/exe": "0.21.3", "@vitejs/devtools": "*", "publint": "^0.3.0", "typescript": "^5.0.0", "unplugin-unused": "^0.5.0" }, "optionalPeers": ["@arethetypeswrong/core", "@tsdown/css", "@tsdown/exe", "@vitejs/devtools", "publint", "typescript", "unplugin-unused"], "bin": { "tsdown": "dist/run.mjs" } }, "sha512-oKKeMC8+IgNsB+81hvF5VBsqhqL/nr0g9vse+ujbK40vv0i3ReFI6gUts7hQH7J53ylQNjMgf2Vu6n0+P/uddA=="], + "tsdown": ["tsdown@0.21.7", "", { "dependencies": { "ansis": "^4.2.0", "cac": "^7.0.0", "defu": "^6.1.4", "empathic": "^2.0.0", "hookable": "^6.1.0", "import-without-cache": "^0.2.5", "obug": "^2.1.1", "picomatch": "^4.0.4", "rolldown": "1.0.0-rc.12", "rolldown-plugin-dts": "^0.23.2", "semver": "^7.7.4", "tinyexec": "^1.0.4", "tinyglobby": "^0.2.15", "tree-kill": "^1.2.2", "unconfig-core": "^7.5.0", "unrun": "^0.2.34" }, "peerDependencies": { "@arethetypeswrong/core": "^0.18.1", "@tsdown/css": "0.21.7", "@tsdown/exe": "0.21.7", "@vitejs/devtools": "*", "publint": "^0.3.0", "typescript": "^5.0.0 || ^6.0.0", "unplugin-unused": "^0.5.0" }, "optionalPeers": ["@arethetypeswrong/core", "@tsdown/css", "@tsdown/exe", "@vitejs/devtools", "publint", "typescript", "unplugin-unused"], "bin": { "tsdown": "dist/run.mjs" } }, "sha512-ukKIxKQzngkWvOYJAyptudclkm4VQqbjq+9HF5K5qDO8GJsYtMh8gIRwicbnZEnvFPr6mquFwYAVZ8JKt3rY2g=="], "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + "typescript": ["typescript@6.0.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ=="], "unconfig-core": ["unconfig-core@7.5.0", "", { "dependencies": { "@quansync/fs": "^1.0.0", "quansync": "^1.0.0" } }, "sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w=="], "undici-types": ["undici-types@7.18.2", "", {}, "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w=="], - "unrun": ["unrun@0.2.32", "", { "dependencies": { "rolldown": "1.0.0-rc.9" }, "peerDependencies": { "synckit": "^0.11.11" }, "optionalPeers": ["synckit"], "bin": { "unrun": "dist/cli.mjs" } }, "sha512-opd3z6791rf281JdByf0RdRQrpcc7WyzqittqIXodM/5meNWdTwrVxeyzbaCp4/Rgls/um14oUaif1gomO8YGg=="], + "unrun": ["unrun@0.2.34", "", { "dependencies": { "rolldown": "1.0.0-rc.12" }, "peerDependencies": { "synckit": "^0.11.11" }, "optionalPeers": ["synckit"], "bin": { "unrun": "dist/cli.mjs" } }, "sha512-LyaghRBR++r7svhDK6tnDz2XaYHWdneBOA0jbS8wnRsHerI9MFljX4fIiTgbbNbEVzZ0C9P1OjWLLe1OqoaaEw=="], "update-browserslist-db": ["update-browserslist-db@1.1.3", "", { "dependencies": { "escalade": "3.2.0", "picocolors": "1.1.1" }, "peerDependencies": { "browserslist": "4.25.1" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw=="], } diff --git a/package.json b/package.json index 17ab76f..9a136f6 100644 --- a/package.json +++ b/package.json @@ -22,50 +22,51 @@ }, "scripts": { "build": "tsdown", - "lint": "biome lint", + "lint": "biome check", "format": "biome check --write --linter-enabled=false", "test": "bun run build && bun test --coverage", "typecheck": "tsc --noEmit", "prepublishOnly": "bun run build" }, "dependencies": { - "@babel/helper-plugin-utils": "^8.0.0-rc.2", - "@babel/helper-validator-option": "^8.0.0-rc.2", - "@babel/core": "^8.0.0-rc.2", - "@babel/helper-module-imports": "^8.0.0-rc.2", - "@babel/template": "^8.0.0-rc.2", - "@babel/traverse": "^8.0.0-rc.2", - "@babel/types": "^8.0.0-rc.2", + "@babel/helper-plugin-utils": "^8.0.0-rc.3", + "@babel/helper-validator-option": "^8.0.0-rc.3", + "@babel/core": "^8.0.0-rc.3", + "@babel/helper-module-imports": "^8.0.0-rc.3", + "@babel/template": "^8.0.0-rc.3", + "@babel/traverse": "^8.0.0-rc.3", + "@babel/types": "^8.0.0-rc.3", "html-entities": "2.6.0", "parse5": "^8.0.0" }, "devDependencies": { - "@biomejs/biome": "2.4.7", - "@types/bun": "^1.3.10", + "@biomejs/biome": "2.4.9", + "@gameroman/config": "^0.0.5", + "@types/bun": "^1.3.11", "@types/node": "^25.5.0", - "solid-js": "1.9.11", - "tsdown": "^0.21.3", - "typescript": "^5.9.3" + "solid-js": "1.9.12", + "tsdown": "^0.21.7", + "typescript": "^6.0.2" }, "peerDependencies": { "csstype": "^3.1.0", - "rolldown": "^1.0.0-rc.9 || ^1.0.0", - "seroval": "~1.3.0 || ~1.5.0", - "solid-js": ">=1.9.0" + "rolldown": "^1.0.0-rc.12", + "seroval": "~1.5.0", + "solid-js": ">=1.9.12" }, "engines": { "node": ">=22.12.0" }, "overrides": { - "@babel/helper-plugin-utils": "8.0.0-rc.2", - "@babel/helper-validator-identifier": "8.0.0-rc.2", - "@babel/helper-validator-option": "8.0.0-rc.2", - "@babel/code-frame": "8.0.0-rc.2", - "@babel/core": "8.0.0-rc.2", - "@babel/helper-module-imports": "8.0.0-rc.2", - "@babel/parser": "8.0.0-rc.2", - "@babel/template": "8.0.0-rc.2", - "@babel/traverse": "8.0.0-rc.2", - "@babel/types": "8.0.0-rc.2" + "@babel/helper-plugin-utils": "8.0.0-rc.3", + "@babel/helper-validator-identifier": "8.0.0-rc.3", + "@babel/helper-validator-option": "8.0.0-rc.3", + "@babel/code-frame": "8.0.0-rc.3", + "@babel/core": "8.0.0-rc.3", + "@babel/helper-module-imports": "8.0.0-rc.3", + "@babel/parser": "8.0.0-rc.3", + "@babel/template": "8.0.0-rc.3", + "@babel/traverse": "8.0.0-rc.3", + "@babel/types": "8.0.0-rc.3" } } diff --git a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/dom/element.ts b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/dom/element.ts index 21511be..d71cd4c 100644 --- a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/dom/element.ts +++ b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/dom/element.ts @@ -174,7 +174,7 @@ export function transformElement(path, info) { results.templateWithClosingTags += ``; } if (info.topLevel && config.hydratable && results.hasHydratableEvent) { - let runHydrationEvents = registerImportMethod( + const runHydrationEvents = registerImportMethod( path, "runHydrationEvents", getRendererConfig(path, "dom").moduleName, @@ -320,7 +320,7 @@ export function setAttr( ); } - let isNameSpaced = name.indexOf(":") > -1; + const isNameSpaced = name.indexOf(":") > -1; name = Aliases[name] || name; !isSVG && (name = name.toLowerCase()); const ns = isNameSpaced && SVGNamespace[name.split(":")[0]]; @@ -668,7 +668,7 @@ function transformAttributes(path, results) { } for (let i = 0, len = text.length; i < len; i++) { - let char = text[i]; + const char = text[i]; if ( char === "'" || @@ -1281,7 +1281,7 @@ function transformChildren(path, results, config) { nextPlaceholder = null; i++; } else if (child.exprs.length) { - let insert = registerImportMethod( + const insert = registerImportMethod( path, "insert", getRendererConfig(path, "dom").moduleName, @@ -1525,7 +1525,7 @@ function processSpreads( }); if (dynamic) { const id = convertJSXIdentifier(node.name); - let expr = + const expr = wrapConditionals && (t.isLogicalExpression(node.value.expression) || t.isConditionalExpression(node.value.expression)) diff --git a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/component.ts b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/component.ts index f526a6c..c64bb7a 100644 --- a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/component.ts +++ b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/component.ts @@ -312,7 +312,7 @@ function transformComponentChildren(children, config) { const filteredChildren = filterChildren(children); if (!filteredChildren.length) return; let dynamic = false; - let pathNodes = []; + const pathNodes = []; let transformedChildren = filteredChildren.reduce((memo, path) => { if (t.isJSXText(path.node)) { diff --git a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/postprocess.ts b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/postprocess.ts index 89e4f0e..8bc47ba 100644 --- a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/postprocess.ts +++ b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/postprocess.ts @@ -45,10 +45,10 @@ export default (path, state) => { } } } - let domTemplates = path.scope.data.templates.filter( + const domTemplates = path.scope.data.templates.filter( (temp) => temp.renderer === "dom", ); - let ssrTemplates = path.scope.data.templates.filter( + const ssrTemplates = path.scope.data.templates.filter( (temp) => temp.renderer === "ssr", ); domTemplates.length > 0 && appendTemplatesDOM(path, domTemplates); diff --git a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/transform.ts b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/transform.ts index ede4668..5ddb326 100644 --- a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/transform.ts +++ b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/transform.ts @@ -125,7 +125,7 @@ export function transformNode(path, info = {}) { if (t.isJSXElement(node)) { return transformElement(config, path, info); } else if (t.isJSXFragment(node)) { - let results = { template: "", declarations: [], exprs: [], dynamics: [] }; + const results = { template: "", declarations: [], exprs: [], dynamics: [] }; // <>
transformFragmentChildren(path.get("children"), results, config); return results; @@ -229,7 +229,7 @@ export function getCreateTemplate(config, path, result) { function transformElement(config, path, info = {}) { const node = path.node; - let tagName = getTagName(node); + const tagName = getTagName(node); // if (isComponent(tagName)) return transformComponent(path); diff --git a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/validate.ts b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/validate.ts index df9dbc7..1ad7c17 100644 --- a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/validate.ts +++ b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/shared/validate.ts @@ -1,9 +1,10 @@ import * as parse5 from "parse5"; /** `bodyElement` will be used as a `context` (The place where we run `innerHTML`) */ +// biome-ignore lint/style/noNonNullAssertion: it will be always defined const bodyElement = parse5.parse( ``, - // @ts-expect-error + // @ts-expect-error: it will be always defined ).childNodes[1]!.childNodes[1]; function innerHTML(htmlFragment: string) { diff --git a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/ssr/element.ts b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/ssr/element.ts index 6474e25..3587273 100644 --- a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/ssr/element.ts +++ b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/ssr/element.ts @@ -678,7 +678,7 @@ function createElement(path, { topLevel, hydratable }) { checkTags: true, }) ) { - let expr = t.arrowFunctionExpression([], value.expression); + const expr = t.arrowFunctionExpression([], value.expression); runningObject.push( t.objectMethod( "get", diff --git a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/universal/element.ts b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/universal/element.ts index e845907..fc79a5f 100644 --- a/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/universal/element.ts +++ b/src/babel-plugin-jsx-dom-expressions/babel-plugin-jsx-dom-expressions/universal/element.ts @@ -15,7 +15,7 @@ import { } from "../shared/utils"; export function transformElement(path, info) { - let tagName = getTagName(path.node), + const tagName = getTagName(path.node), results = { id: path.scope.generateUidIdentifier("el$"), declarations: [], @@ -254,14 +254,14 @@ function transformChildren(path, results) { Wrap the usage with a component that would render this element, eg. Canvas`); } if (child.id) { - let insertNode = registerImportMethod( + const insertNode = registerImportMethod( path, "insertNode", getRendererConfig(path, "universal").moduleName, ); let insert = child.id; if (child.text) { - let createTextNode = registerImportMethod( + const createTextNode = registerImportMethod( path, "createTextNode", getRendererConfig(path, "universal").moduleName, @@ -303,7 +303,7 @@ function transformChildren(path, results) { results.exprs.push(...child.exprs); results.dynamics.push(...child.dynamics); } else if (child.exprs.length) { - let insert = registerImportMethod( + const insert = registerImportMethod( path, "insert", getRendererConfig(path, "universal").moduleName, @@ -389,7 +389,7 @@ function processSpreads( }); if (dynamic) { const id = convertJSXIdentifier(node.name); - let expr = + const expr = wrapConditionals && (t.isLogicalExpression(node.value.expression) || t.isConditionalExpression(node.value.expression)) diff --git a/src/babel-plugin-jsx-dom-expressions/dom-expressions/client.d.ts b/src/babel-plugin-jsx-dom-expressions/dom-expressions/client.d.ts index 3b62395..65d96ee 100644 --- a/src/babel-plugin-jsx-dom-expressions/dom-expressions/client.d.ts +++ b/src/babel-plugin-jsx-dom-expressions/dom-expressions/client.d.ts @@ -41,14 +41,14 @@ export function clearDelegatedEvents(d?: Document): void; export function spread( node: Element, accessor: T, - isSVG?: Boolean, - skipChildren?: Boolean, + isSVG?: boolean, + skipChildren?: boolean, ): void; export function assign( node: Element, props: any, - isSVG?: Boolean, - skipChildren?: Boolean, + isSVG?: boolean, + skipChildren?: boolean, ): void; export function setAttribute(node: Element, name: string, value: string): void; export function setAttributeNS( diff --git a/src/babel-plugin-jsx-dom-expressions/dom-expressions/client.js b/src/babel-plugin-jsx-dom-expressions/dom-expressions/client.js index eb3ccba..83ce26c 100644 --- a/src/babel-plugin-jsx-dom-expressions/dom-expressions/client.js +++ b/src/babel-plugin-jsx-dom-expressions/dom-expressions/client.js @@ -47,7 +47,7 @@ export { }; export function render(code, element, init, options = {}) { - if ("_DX_DEV_" && !element) { + if (!element) { throw new Error( "The `element` passed to `render(..., element)` doesn't exist. Make sure `element` exists in the document.", ); @@ -68,7 +68,7 @@ export function render(code, element, init, options = {}) { export function template(html, isImportNode, isSVG, isMathML) { let node; const create = () => { - if ("_DX_DEV_" && isHydrating()) + if (isHydrating()) throw new Error( "Failed attempt to create new DOM elements during hydration. Check that the libraries you are using support hydration.", ); @@ -108,7 +108,7 @@ export function delegateEvents(eventNames, document = window.document) { export function clearDelegatedEvents(document = window.document) { if (document[$$EVENTS]) { - for (let name of document[$$EVENTS].keys()) + for (const name of document[$$EVENTS].keys()) document.removeEventListener(name, eventHandler); delete document[$$EVENTS]; } @@ -324,7 +324,7 @@ export function getNextElement(template) { !hydrating || !(node = sharedConfig.registry.get((key = getHydrationKey()))) ) { - if ("_DX_DEV_" && hydrating) { + if (hydrating) { sharedConfig.done = true; throw new Error( `Hydration Mismatch. Unable to find DOM nodes for hydration key: ${key}\n${template ? template().outerHTML : ""}`, @@ -531,7 +531,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) { const hydrating = isHydrating(parent); if (hydrating) { !current && (current = [...parent.childNodes]); - let cleaned = []; + const cleaned = []; for (let i = 0; i < current.length; i++) { const node = current[i]; if (node.nodeType === 8 && node.data.slice(0, 2) === "!$") node.remove(); @@ -614,8 +614,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) { parent.appendChild(value); } else parent.replaceChild(value, parent.firstChild); current = value; - } else if ("_DX_DEV_") - console.warn(`Unrecognized value. Skipped inserting`, value); + } return current; } diff --git a/src/babel-plugin-jsx-dom-expressions/dom-expressions/jsx-update.mjs b/src/babel-plugin-jsx-dom-expressions/dom-expressions/jsx-update.mjs index 91f1c4c..88d41dc 100644 --- a/src/babel-plugin-jsx-dom-expressions/dom-expressions/jsx-update.mjs +++ b/src/babel-plugin-jsx-dom-expressions/dom-expressions/jsx-update.mjs @@ -9,8 +9,8 @@ * @see https://github.com/ryansolid/dom-expressions/issues/408 */ -import { execSync as $ } from "child_process"; -import fs from "fs"; +import { execSync as $ } from "node:child_process"; +import fs from "node:fs"; process.chdir("packages/dom-expressions/src"); diff --git a/src/babel-plugin-jsx-dom-expressions/dom-expressions/server.d.ts b/src/babel-plugin-jsx-dom-expressions/dom-expressions/server.d.ts index 0cf358a..e1f82fd 100644 --- a/src/babel-plugin-jsx-dom-expressions/dom-expressions/server.d.ts +++ b/src/babel-plugin-jsx-dom-expressions/dom-expressions/server.d.ts @@ -151,8 +151,8 @@ export function insert( export function spread( node: Element, accessor: T, - isSVG?: Boolean, - skipChildren?: Boolean, + isSVG?: boolean, + skipChildren?: boolean, ): void; /** @deprecated not supported on the server side */ @@ -196,8 +196,8 @@ export function className(node: Element, value: string): void; export function assign( node: Element, props: any, - isSVG?: Boolean, - skipChildren?: Boolean, + isSVG?: boolean, + skipChildren?: boolean, ): void; /** @deprecated not supported on the server side */ diff --git a/src/babel-plugin-jsx-dom-expressions/dom-expressions/server.js b/src/babel-plugin-jsx-dom-expressions/dom-expressions/server.js index f29d534..ea13401 100644 --- a/src/babel-plugin-jsx-dom-expressions/dom-expressions/server.js +++ b/src/babel-plugin-jsx-dom-expressions/dom-expressions/server.js @@ -267,7 +267,7 @@ export function renderToStream(code, options = {}) { fn(tmp); } if (onCompleteAll) { - let ogComplete = onCompleteAll; + const ogComplete = onCompleteAll; onCompleteAll = (options) => { ogComplete(options); complete(); @@ -605,7 +605,7 @@ function queue(fn) { } function allSettled(promises) { - let length = promises.length; + const length = promises.length; return Promise.allSettled(promises).then(() => { if (promises.length !== length) return allSettled(promises); return; @@ -709,7 +709,7 @@ export function ssrSpread(props, isSVG, skipChildren) { const keys = Object.keys(props); let classResolved; for (let i = 0; i < keys.length; i++) { - let prop = keys[i]; + const prop = keys[i]; if (prop === "children") { !skipChildren && console.warn(`SSR currently does not support spread children.`); diff --git a/src/plugin-transform-typescript/index.ts b/src/plugin-transform-typescript/index.ts index cb04924..b86f9c6 100644 --- a/src/plugin-transform-typescript/index.ts +++ b/src/plugin-transform-typescript/index.ts @@ -615,13 +615,10 @@ const pluginTransformTypescript = declare((api, opts: Options) => { const newNode = t.variableDeclaration(varKind, [ t.variableDeclarator(id, init), ]); - - { - path.replaceWith( - // @ts-expect-error(Babel 7 vs Babel 8) Babel 7 AST - path.node.isExport ? t.exportNamedDeclaration(newNode) : newNode, - ); - } + path.replaceWith( + // @ts-expect-error(Babel 7 vs Babel 8) Babel 7 AST + path.node.isExport ? t.exportNamedDeclaration(newNode) : newNode, + ); path.scope.registerDeclaration(path); }, diff --git a/src/plugin-transform-typescript/namespace.ts b/src/plugin-transform-typescript/namespace.ts index 1fc2d68..0ebbad6 100644 --- a/src/plugin-transform-typescript/namespace.ts +++ b/src/plugin-transform-typescript/namespace.ts @@ -130,24 +130,19 @@ function handleNested( parentExport?: t.Expression, ): t.Statement | null { const names = new Set(); - const realName = - true || t.isIdentifier(node.id) - ? (node.id as t.Identifier) - : getFirstIdentifier(node.id as unknown as t.TSQualifiedName); + const realName = getFirstIdentifier(node.id as t.TSQualifiedName); const name = path.scope.generateUid(realName.name); const body = node.body; let namespaceTopLevel: t.Statement[]; - { - namespaceTopLevel = t.isTSModuleBlock(body) - ? body.body - : // We handle `namespace X.Y {}` as if it was - // namespace X { - // export namespace Y {} - // } - [t.exportNamedDeclaration(body)]; - } + namespaceTopLevel = t.isTSModuleBlock(body) + ? body.body + : // We handle `namespace X.Y {}` as if it was + // namespace X { + // export namespace Y {} + // } + [t.exportNamedDeclaration(body)]; let isEmpty = true; diff --git a/src/plugin-transform-typescript/plugin-syntax-typescript.ts b/src/plugin-transform-typescript/plugin-syntax-typescript.ts index 673da49..957b8f1 100644 --- a/src/plugin-transform-typescript/plugin-syntax-typescript.ts +++ b/src/plugin-transform-typescript/plugin-syntax-typescript.ts @@ -24,8 +24,7 @@ export interface Options { const syntaxTypeScript = declare((api, opts: Options) => { const { disallowAmbiguousJSXLike, dts } = opts; - // eslint-disable-next-line no-var - var { isTSX } = opts; + const { isTSX } = opts; return { name: "syntax-typescript", diff --git a/tests/COVERAGE.txt b/tests/COVERAGE.txt index 0184dd9..0256818 100644 --- a/tests/COVERAGE.txt +++ b/tests/COVERAGE.txt @@ -1,8 +1,8 @@ ---------------------------------------------------------------------------------------------|---------|---------|------------------- File | % Funcs | % Lines | Uncovered Line #s ---------------------------------------------------------------------------------------------|---------|---------|------------------- -All files | 88.00 | 78.35 | - dist\index.mjs | 81.54 | 78.85 | 53,96-99,115,124,154,226-236,238-250,254-255,259-261,689-690,710,714-715,717-719,725-727,737-738,740-742,749-759,767-785,787-790,804-806,811-818,830-838,866-884,893-901,927-931,938-959,962-963,1011-1019,1022-1027,1030-1032,1043-1046,1058-1059,1107-1108,1111-1117,1146-1166,1168-1173,1204-1217,1222-1223,1225-1227,1243-1244,1259-1263,1294-1295,1343-1347,1356-1359,1407-1420,1594-1595,1618-1619,1646-1648,1651-1656,1659-1661,1669-1671,1680-1683,1743-1745,1756-1757,1786-1792,1794-1795,1800-1808,1810-1813,1859-1867,1870-1875,1880-1885,1887-1892,1899-1901,1913-1915,1917-1920,1935-1941,1952-1958,1960-1964,1966-1976,1978-1982,1990-1991,1996-1998,2044-2049,2153-2154,2158-2164,2201-2203,2265-2269,2314-2316,2375-2387,2441-2442,2463,2510-2514,2520-2526,2550-2562,2569-2572,2596-2611,2616-2623,2629-2634,2636-2643,2653-2654,2657-2663,2685-2689,2691-2699,2701,2711,2714-2717,2725-2730,2741-2743,2754-2755,2764,2768-2769,2775-2776,2799-2803,2805,2819-2828,2830-2842,2844,2877-2878,2903,2933,2943-2944,2950,2964,3047-3048,3066-3076,3095-3096,3115,3124-3125,3129,3141,3180-3193,3196-3197,3200,3222,3225,3230-3232,3240-3246,3284-3288,3298 +All files | 88.00 | 78.32 | + dist\index.mjs | 81.54 | 78.78 | 53,96-99,115,124,154,226-236,238-250,254-255,259-261,689-690,710,714-715,717-719,725-727,737-738,740-742,749-759,767-785,787-790,804-806,811-818,830-838,866-884,893-901,927-931,938-959,962-963,1011-1019,1022-1027,1030-1032,1043-1046,1058-1059,1107-1108,1111-1117,1146-1166,1168-1173,1204-1217,1222-1223,1225-1227,1243-1244,1259-1263,1294-1295,1343-1347,1356-1359,1407-1420,1594-1595,1618-1619,1646-1648,1651-1656,1659-1661,1669-1671,1680-1683,1743-1745,1756-1757,1786-1792,1794-1795,1800-1808,1810-1813,1859-1867,1870-1875,1880-1885,1887-1892,1899-1901,1913-1915,1917-1920,1935-1941,1952-1958,1960-1964,1966-1976,1978-1982,1990-1991,1996-1998,2044-2049,2153-2154,2158-2164,2201-2203,2265-2269,2314-2316,2375-2387,2441-2442,2463,2510-2514,2520-2526,2550-2562,2569-2572,2596-2611,2616-2623,2629-2634,2636-2643,2653-2654,2657-2663,2685-2689,2691-2699,2701,2711,2714-2717,2725-2730,2741-2743,2754-2755,2764,2768-2769,2775-2776,2799-2803,2805,2819-2828,2830-2842,2844,2877-2878,2903,2933,2943-2944,2950,2964,3047-3048,3066-3076,3095-3096,3099-3100,3115,3124-3125,3129,3141,3180-3193,3196-3197,3200,3222,3225,3230-3232,3240-3246,3284-3288,3298 src\babel-plugin-jsx-dom-expressions\babel-plugin-jsx-dom-expressions\VoidElements.ts | 100.00 | 100.00 | src\babel-plugin-jsx-dom-expressions\babel-plugin-jsx-dom-expressions\config.ts | 100.00 | 100.00 | src\babel-plugin-jsx-dom-expressions\babel-plugin-jsx-dom-expressions\dom\constants.ts | 100.00 | 100.00 | @@ -27,8 +27,8 @@ All files src\plugin-transform-typescript\create-class-features-plugin.ts | 33.33 | 61.76 | 18-20,24-27,48-53,55-58,60,64,74,78-83 src\plugin-transform-typescript\enum.ts | 83.33 | 55.98 | 36,52,75-76,99-104,116,124,128,185-191,193,218-248,289,291,295-296,298-309,312,319-321,323-328,355,359,365,369-372,374-376,378-379,381-388,390,400,402-412,414,419,425-426,428-429,431-432,434-436,439-456,465,469,475-479,483-496 src\plugin-transform-typescript\global-types.ts | 100.00 | 63.64 | 9-10,15 - src\plugin-transform-typescript\index.ts | 70.45 | 70.68 | 21-22,24-25,27-28,30,33,51-54,61-73,123-125,131-135,137,182-184,226,228-230,285,290-291,311-312,321,332-345,353-355,376,380,396,405-406,409-411,442,460,478,485-486,488,494,504,512,519,565,589-624,628-636,640,672,676,682-687,714,716-721,724,726-729,731 - src\plugin-transform-typescript\namespace.ts | 77.78 | 66.36 | 10,13,21-22,26-29,33,41-42,44,77-79,82,101,104-105,107-116,119-123,160-163,165-178,180-190,192-196,198,206,246,258,268-269 + src\plugin-transform-typescript\index.ts | 70.45 | 70.51 | 21-22,24-25,27-28,30,33,51-54,61-73,123-125,131-135,137,182-184,226,228-230,285,290-291,311-312,321,332-345,353-355,376,380,396,405-406,409-411,429-431,442,460,478,485-486,488,494,504,512,519,565,589-621,625-633,637,669,673,679-684,711,713-718,721,723-726,728 + src\plugin-transform-typescript\namespace.ts | 77.78 | 65.58 | 10,13,21-22,26-29,33,41-42,44,77-79,82,101,104-105,107-116,119-123,155-158,160-173,175-185,187-191,193,201,241,253,263-264 src\plugin-transform-typescript\plugin-syntax-typescript.ts | 75.00 | 80.65 | 5-9 src\preset-typescript\index.ts | 100.00 | 100.00 | src\preset-typescript\normalize-options.ts | 100.00 | 100.00 | diff --git a/tests/__snapshots__/basic.test.ts.snap b/tests/__snapshots__/basic.test.ts.snap index e108b45..5c6f413 100644 --- a/tests/__snapshots__/basic.test.ts.snap +++ b/tests/__snapshots__/basic.test.ts.snap @@ -1,8 +1,7 @@ // Bun Snapshot v1, https://bun.sh/docs/test/snapshots exports[`rolldown-plugin-solid src should transform basic SolidJS component 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -180,6 +179,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -624,8 +624,6 @@ function cleanChildren(parent, current, marker, replacement) { } else parent.insertBefore(node, marker); return [node]; } -//#endregion -//#region tests/fixtures/basic.tsx var _tmpl$ = /* @__PURE__ */ template(\`

Check console to see the difference in effect triggers!

Without batch: Each signal update triggers effects separately

With batch: All updates trigger effects together once\`); const BatchExample = () => { const [count, setCount] = createSignal(0); @@ -717,14 +715,12 @@ const BatchExample = () => { })(); }; delegateEvents(["click"]); -//#endregion export { BatchExample as default }; " `; exports[`rolldown-plugin-solid dist should transform component with batch 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -904,6 +900,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -1356,8 +1353,6 @@ function cleanChildren(parent, current, marker, replacement) { } else parent.insertBefore(node, marker); return [node]; } -//#endregion -//#region tests/fixtures/batch.tsx var _tmpl$ = /* @__PURE__ */ template(\`

Batch Example

Count:

Double:

Name:

Greeting:

Check console to see the difference in effect triggers!

Without batch: Each signal update triggers effects separately

With batch: All updates trigger effects together once\`); const BatchExample = () => { const [count, setCount] = createSignal(0); @@ -1439,7 +1434,6 @@ const BatchExample = () => { })(); }; delegateEvents(["click"]); -//#endregion export { BatchExample as default }; " `; diff --git a/tests/__snapshots__/children.test.ts.snap b/tests/__snapshots__/children.test.ts.snap index e051241..e866d15 100644 --- a/tests/__snapshots__/children.test.ts.snap +++ b/tests/__snapshots__/children.test.ts.snap @@ -1,8 +1,7 @@ // Bun Snapshot v1, https://bun.sh/docs/test/snapshots exports[`rolldown-plugin-solid src should transform component with children 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -173,6 +172,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -607,8 +607,6 @@ function cleanChildren(parent, current, marker, replacement) { } else parent.insertBefore(node, marker); return [node]; } -//#endregion -//#region tests/fixtures/children.tsx var _tmpl$ = /* @__PURE__ */ template(\`

\`), _tmpl$2 = /* @__PURE__ */ template(\`

\`), _tmpl$3 = /* @__PURE__ */ template(\`

This is card content\`), _tmpl$4 = /* @__PURE__ */ template(\`

Root mounted: \`); const Counter = () => { const [count, setCount] = createSignal(0); @@ -665,14 +663,12 @@ const App = () => { })(); }; delegateEvents(["click"]); -//#endregion export { App as default }; " `; exports[`rolldown-plugin-solid dist should transform component with createRoot 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -850,6 +846,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -1283,8 +1280,6 @@ function cleanChildren(parent, current, marker, replacement) { } else parent.insertBefore(node, marker); return [node]; } -//#endregion -//#region tests/fixtures/create-root.tsx var _tmpl$ = /* @__PURE__ */ template(\`

Count:

Root mounted: \`); const Counter = () => { const [count, setCount] = createSignal(0); @@ -1335,7 +1330,6 @@ const App = () => { })(); }; delegateEvents(["click"]); -//#endregion export { App as default }; " `; diff --git a/tests/__snapshots__/create-store.test.ts.snap b/tests/__snapshots__/create-store.test.ts.snap index 2461bdd..ac0678f 100644 --- a/tests/__snapshots__/create-store.test.ts.snap +++ b/tests/__snapshots__/create-store.test.ts.snap @@ -1,8 +1,7 @@ // Bun Snapshot v1, https://bun.sh/docs/test/snapshots exports[`rolldown-plugin-solid src should transform component with createStore 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -196,6 +195,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -675,8 +675,6 @@ function cleanChildren(parent, current, marker, replacement) { } else parent.insertBefore(node, marker); return [node]; } -//#endregion -//#region node_modules/solid-js/store/dist/store.js const $RAW = Symbol("store-raw"), $NODE = Symbol("store-node"), $HAS = Symbol("store-has"), $SELF = Symbol("store-self"); function wrap$1(value) { let p = value[$PROXY]; @@ -865,8 +863,6 @@ function createStore(...[store, options]) { } return [wrappedStore, setStore]; } -//#endregion -//#region tests/fixtures/create-store.tsx var _tmpl$ = /* @__PURE__ */ template(\`

Store Management Example

Total Users:

Store Debug Info

Is Loading:

Error:

Selected User ID: \`), _tmpl$2 = /* @__PURE__ */ template(\`

Users List\`), _tmpl$3 = /* @__PURE__ */ template(\`

()

City:

Theme:

Notifications: Email=, Push=

Notification Preferences:

Email:

Push:

Marketing: \`); const StoreExample = () => { const [store, setStore] = createStore({ @@ -1028,14 +1024,12 @@ const StoreExample = () => { })(); }; delegateEvents(["click"]); -//#endregion export { StoreExample as default }; " `; exports[`rolldown-plugin-solid dist should transform component with createStore 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -1229,6 +1223,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -1708,8 +1703,6 @@ function cleanChildren(parent, current, marker, replacement) { } else parent.insertBefore(node, marker); return [node]; } -//#endregion -//#region node_modules/solid-js/store/dist/store.js const $RAW = Symbol("store-raw"), $NODE = Symbol("store-node"), $HAS = Symbol("store-has"), $SELF = Symbol("store-self"); function wrap$1(value) { let p = value[$PROXY]; @@ -1898,8 +1891,6 @@ function createStore(...[store, options]) { } return [wrappedStore, setStore]; } -//#endregion -//#region tests/fixtures/create-store.tsx var _tmpl$ = /* @__PURE__ */ template(\`

Store Management Example

Total Users:

Store Debug Info

Is Loading:

Error:

Selected User ID: \`), _tmpl$2 = /* @__PURE__ */ template(\`

Users List\`), _tmpl$3 = /* @__PURE__ */ template(\`

()

City:

Theme:

Notifications: Email=, Push=

Notification Preferences:

Email:

Push:

Marketing: \`); const StoreExample = () => { const [store, setStore] = createStore({ @@ -2061,7 +2052,6 @@ const StoreExample = () => { })(); }; delegateEvents(["click"]); -//#endregion export { StoreExample as default }; " `; diff --git a/tests/__snapshots__/dynamic.test.ts.snap b/tests/__snapshots__/dynamic.test.ts.snap index 4d70da4..ab0f06c 100644 --- a/tests/__snapshots__/dynamic.test.ts.snap +++ b/tests/__snapshots__/dynamic.test.ts.snap @@ -1,8 +1,7 @@ // Bun Snapshot v1, https://bun.sh/docs/test/snapshots exports[`rolldown-plugin-solid src should transform component with Dynamic 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -175,6 +174,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -505,8 +505,6 @@ function splitProps(props, ...keys) { } return objects; } -//#endregion -//#region node_modules/solid-js/web/dist/web.js const Properties = /* @__PURE__ */ new Set([ "className", "value", @@ -1195,8 +1193,6 @@ function Dynamic(props) { const [, others] = splitProps(props, ["component"]); return createDynamic(() => props.component, others); } -//#endregion -//#region tests/fixtures/dynamic.tsx var _tmpl$ = /* @__PURE__ */ template(\`", _tmpl$4 = "

Fragment Example

", _tmpl$5 = ["

Count: ", "

"], _tmpl$6 = ""; const ChildComponent = () => { const [message, setMessage] = createSignal("Hello from child!"); @@ -3004,14 +2990,12 @@ const App = () => { createComponent(ChildComponent, {}) ]; }; -//#endregion export { App as default }; " `; exports[`rolldown-plugin-solid dist should transform SolidJS component with fragments and SSR option 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -3164,6 +3148,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -3333,8 +3318,6 @@ function createComponent(Comp, props) { } function ssr(template, ...nodes) {} function escape(html) {} -//#endregion -//#region tests/fixtures/fragment.tsx var _tmpl$ = "

Child Component

", _tmpl$2 = ["

", "

"], _tmpl$3 = "", _tmpl$4 = "

Fragment Example

", _tmpl$5 = ["

Count: ", "

"], _tmpl$6 = ""; const ChildComponent = () => { const [message, setMessage] = createSignal("Hello from child!"); @@ -3353,14 +3336,12 @@ const App = () => { createComponent(ChildComponent, {}) ]; }; -//#endregion export { App as default }; " `; exports[`rolldown-plugin-solid src should transform SolidJS component with fragments and universal mode 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -3549,6 +3530,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -3836,8 +3818,6 @@ function mergeProps$1(...sources) { } return target; } -//#endregion -//#region node_modules/solid-js/universal/dist/universal.js const memo$1 = (fn) => createMemo(() => fn()); function createRenderer$1({ createElement, createTextNode, isTextNode, replaceText, insertNode, removeNode, setProperty, getParentNode, getFirstChild, getNextSibling }) { function insert(parent, accessor, marker, initial) { @@ -4035,8 +4015,6 @@ function createRenderer(options) { renderer.mergeProps = mergeProps$1; return renderer; } -//#endregion -//#region tests/helpers/universal-mode-renderer.ts const { createComponent, createElement, createTextNode, effect, insert, insertNode, memo, mergeProps, render, setProp, spread, use } = createRenderer({ createElement() {}, createTextNode() {}, @@ -4051,8 +4029,6 @@ const { createComponent, createElement, createTextNode, effect, insert, insertNo replaceText() {}, setProperty() {} }); -//#endregion -//#region tests/fixtures/fragment.tsx const ChildComponent = () => { const [message, setMessage] = createSignal("Hello from child!"); return [ @@ -4097,14 +4073,12 @@ const App = () => { createComponent(ChildComponent, {}) ]; }; -//#endregion export { App as default }; " `; exports[`rolldown-plugin-solid dist should transform SolidJS component with fragments and universal mode 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -4293,6 +4267,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -4580,8 +4555,6 @@ function mergeProps$1(...sources) { } return target; } -//#endregion -//#region node_modules/solid-js/universal/dist/universal.js const memo$1 = (fn) => createMemo(() => fn()); function createRenderer$1({ createElement, createTextNode, isTextNode, replaceText, insertNode, removeNode, setProperty, getParentNode, getFirstChild, getNextSibling }) { function insert(parent, accessor, marker, initial) { @@ -4779,8 +4752,6 @@ function createRenderer(options) { renderer.mergeProps = mergeProps$1; return renderer; } -//#endregion -//#region tests/helpers/universal-mode-renderer.ts const { createComponent, createElement, createTextNode, effect, insert, insertNode, memo, mergeProps, render, setProp, spread, use } = createRenderer({ createElement() {}, createTextNode() {}, @@ -4795,8 +4766,6 @@ const { createComponent, createElement, createTextNode, effect, insert, insertNo replaceText() {}, setProperty() {} }); -//#endregion -//#region tests/fixtures/fragment.tsx const ChildComponent = () => { const [message, setMessage] = createSignal("Hello from child!"); return [ @@ -4841,7 +4810,6 @@ const App = () => { createComponent(ChildComponent, {}) ]; }; -//#endregion export { App as default }; " `; diff --git a/tests/__snapshots__/hydratable-root.test.ts.snap b/tests/__snapshots__/hydratable-root.test.ts.snap index 157b50b..e4d842c 100644 --- a/tests/__snapshots__/hydratable-root.test.ts.snap +++ b/tests/__snapshots__/hydratable-root.test.ts.snap @@ -1,8 +1,7 @@ // Bun Snapshot v1, https://bun.sh/docs/test/snapshots exports[`rolldown-plugin-solid src should transform hydratable html/head/body elements 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -48,8 +47,6 @@ function getHydrationKey() { function NoHydration(props) { return sharedConfig.context ? void 0 : props.children; } -//#endregion -//#region tests/fixtures/hydratable-root.tsx function TestHydratableHtml() { return getNextElement(); } @@ -59,14 +56,12 @@ function TestHydratableHead() { function TestHydratableBody() { return getNextElement(); } -//#endregion export { TestHydratableBody, TestHydratableHead, TestHydratableHtml }; " `; exports[`rolldown-plugin-solid dist should transform hydratable html/head/body elements 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -112,8 +107,6 @@ function getHydrationKey() { function NoHydration(props) { return sharedConfig.context ? void 0 : props.children; } -//#endregion -//#region tests/fixtures/hydratable-root.tsx function TestHydratableHtml() { return getNextElement(); } @@ -123,7 +116,6 @@ function TestHydratableHead() { function TestHydratableBody() { return getNextElement(); } -//#endregion export { TestHydratableBody, TestHydratableHead, TestHydratableHtml }; " `; diff --git a/tests/__snapshots__/list.test.ts.snap b/tests/__snapshots__/list.test.ts.snap index 50c9953..1a0a830 100644 --- a/tests/__snapshots__/list.test.ts.snap +++ b/tests/__snapshots__/list.test.ts.snap @@ -1,8 +1,7 @@ // Bun Snapshot v1, https://bun.sh/docs/test/snapshots exports[`rolldown-plugin-solid src should transform component with list rendering 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -196,6 +195,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -774,8 +774,6 @@ function cleanChildren(parent, current, marker, replacement) { } else parent.insertBefore(node, marker); return [node]; } -//#endregion -//#region tests/fixtures/list.tsx var _tmpl$ = /* @__PURE__ */ template(\`

Product List

    Simple List

      Simple List

      Total items:

      Total price: $

        \`), _tmpl$3 = /* @__PURE__ */ template(\`
      • () - $\`), _tmpl$4 = /* @__PURE__ */ template(\`

        Computed Values

        Raw power:

        Formatted:

        Is large:

        Description: \`), _tmpl$5 = /* @__PURE__ */ template(\`

        This is a large number!\`), _tmpl$6 = /* @__PURE__ */ template(\`

        createMemo Demo



        \`); const MemoCounter = () => { const [count, setCount] = createSignal(0); @@ -820,14 +818,12 @@ const MemoDemo = () => { })(); }; delegateEvents(["click", "input"]); -//#endregion export { MemoDemo as default }; " `; exports[`rolldown-plugin-solid dist should transform component with Memo 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -1013,6 +1009,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -1469,8 +1466,6 @@ function cleanChildren(parent, current, marker, replacement) { } else parent.insertBefore(node, marker); return [node]; } -//#endregion -//#region tests/fixtures/memo.tsx var _tmpl$ = /* @__PURE__ */ template(\`

        Counter with Memos

        Count:

        Multiplier:

        Doubled:

        Quadrupled:

        Expensive:

        Total items:

        Total price: $

          \`), _tmpl$3 = /* @__PURE__ */ template(\`
        • () - $\`), _tmpl$4 = /* @__PURE__ */ template(\`

          Computed Values

          Raw power:

          Formatted:

          Is large:

          Description: \`), _tmpl$5 = /* @__PURE__ */ template(\`

          This is a large number!\`), _tmpl$6 = /* @__PURE__ */ template(\`

          createMemo Demo



          \`); const MemoCounter = () => { const [count, setCount] = createSignal(0); @@ -1645,7 +1640,6 @@ const MemoDemo = () => { })(); }; delegateEvents(["click", "input"]); -//#endregion export { MemoDemo as default }; " `; diff --git a/tests/__snapshots__/onmount.test.ts.snap b/tests/__snapshots__/onmount.test.ts.snap index 75f2b84..63eeadf 100644 --- a/tests/__snapshots__/onmount.test.ts.snap +++ b/tests/__snapshots__/onmount.test.ts.snap @@ -1,8 +1,7 @@ // Bun Snapshot v1, https://bun.sh/docs/test/snapshots exports[`rolldown-plugin-solid src should transform component with onMount 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -197,6 +196,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -594,8 +594,6 @@ function cleanChildren(parent, current, marker, replacement) { } else parent.insertBefore(node, marker); return [node]; } -//#endregion -//#region tests/fixtures/onmount.tsx var _tmpl$ = /* @__PURE__ */ template(\`

          Data Loader Component\`), _tmpl$2 = /* @__PURE__ */ template(\`

          Loading posts...\`), _tmpl$3 = /* @__PURE__ */ template(\`

            \`), _tmpl$4 = /* @__PURE__ */ template(\`
          • \`), _tmpl$5 = /* @__PURE__ */ template(\`

            Timer: s\`), _tmpl$6 = /* @__PURE__ */ template(\`

            onMount Example

            Mounted at:

            Time elapsed: s

            Async Data Loading

            ✅ Component mounted - check console for logs

            🔄 Timer and resize listener are active

            📊 Data fetched from API on mount\`), _tmpl$7 = /* @__PURE__ */ template(\`

            Error: \`), _tmpl$8 = /* @__PURE__ */ template(\`

            \`), _tmpl$9 = /* @__PURE__ */ template(\`

            Loading data...\`); const OnMountExample = () => { const [mountedTime, setMountedTime] = createSignal(""); @@ -702,14 +700,12 @@ const OnMountExample = () => { return _el$1; })(); }; -//#endregion export { OnMountExample as default }; " `; exports[`rolldown-plugin-solid dist should transform component with onMount 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -904,6 +900,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -1301,8 +1298,6 @@ function cleanChildren(parent, current, marker, replacement) { } else parent.insertBefore(node, marker); return [node]; } -//#endregion -//#region tests/fixtures/onmount.tsx var _tmpl$ = /* @__PURE__ */ template(\`

            Data Loader Component\`), _tmpl$2 = /* @__PURE__ */ template(\`

            Loading posts...\`), _tmpl$3 = /* @__PURE__ */ template(\`

              \`), _tmpl$4 = /* @__PURE__ */ template(\`
            • \`), _tmpl$5 = /* @__PURE__ */ template(\`

              Timer: s\`), _tmpl$6 = /* @__PURE__ */ template(\`

              onMount Example

              Mounted at:

              Time elapsed: s

              Async Data Loading

              ✅ Component mounted - check console for logs

              🔄 Timer and resize listener are active

              📊 Data fetched from API on mount\`), _tmpl$7 = /* @__PURE__ */ template(\`

              Error: \`), _tmpl$8 = /* @__PURE__ */ template(\`

              \`), _tmpl$9 = /* @__PURE__ */ template(\`

              Loading data...\`); const OnMountExample = () => { const [mountedTime, setMountedTime] = createSignal(""); @@ -1409,7 +1404,6 @@ const OnMountExample = () => { return _el$1; })(); }; -//#endregion export { OnMountExample as default }; " `; diff --git a/tests/__snapshots__/portal.test.ts.snap b/tests/__snapshots__/portal.test.ts.snap index 68d67c9..e44bf34 100644 --- a/tests/__snapshots__/portal.test.ts.snap +++ b/tests/__snapshots__/portal.test.ts.snap @@ -1,8 +1,7 @@ // Bun Snapshot v1, https://bun.sh/docs/test/snapshots exports[`rolldown-plugin-solid src should transform component with Portal 1`] = ` -"//#region node_modules/solid-js/dist/solid.js -const sharedConfig = { +"const sharedConfig = { context: void 0, registry: void 0, effects: void 0, @@ -227,6 +226,7 @@ function runComputation(node, value, time) { if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true); else if (Transition && Transition.running && node.pure) { + if (!Transition.sources.has(node)) node.value = nextValue; Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; @@ -716,8 +716,6 @@ function Portal(props) { }, void 0, { render: !hydrating }); return marker; } -//#endregion -//#region tests/fixtures/portal.tsx var _tmpl$ = /* @__PURE__ */ template(\`

              This notification is always rendered in a different container\`), _tmpl$2 = /* @__PURE__ */ template(\`

              This tooltip is rendered directly to document.body\`), _tmpl$3 = /* @__PURE__ */ template(\`

              Portal Example

              Comments Selection

              Comments Selection