From 5cdb5e705a58b261f4b52608bbbe5e5c1d58bba6 Mon Sep 17 00:00:00 2001 From: Alex <8125011+alex-kinokon@users.noreply.github.com> Date: Thu, 11 Apr 2024 01:24:42 -0400 Subject: [PATCH] Support latest syntax --- .eslintrc.js | 3 + README.md | 2 +- package.json | 16 +++- pnpm-lock.yaml | 224 ++++++++++++++++++++++++++++++++----------- scripts/index.ts | 4 +- src/esbuild-babel.ts | 10 +- src/types.d.ts | 3 + 7 files changed, 198 insertions(+), 64 deletions(-) create mode 100644 src/types.d.ts diff --git a/.eslintrc.js b/.eslintrc.js index 7cc3800..6b690e1 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -3,4 +3,7 @@ const { extendConfig } = require("@aet/eslint-rules"); module.exports = extendConfig({ plugins: ["react", "unicorn"], + rules: { + "class-methods-use-this": "error", + }, }); diff --git a/README.md b/README.md index c9d00b8..bbf3a50 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# babel-tailwind +# tailwind-utils Compile-run Tailwind compiler. diff --git a/package.json b/package.json index c2b58e7..c1773f2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@aet/babel-tailwind", - "version": "0.0.1-beta.7", + "version": "0.0.1-beta.8", "main": "dist/index.js", "license": "MIT", "private": true, @@ -17,15 +17,21 @@ "@types/bun": "^1.0.12", "@types/dedent": "^0.7.2", "@types/lodash": "^4.17.0", - "@types/node": "^20.12.5", - "dedent": "^1.5.1", + "@types/node": "^20.12.7", + "@types/postcss-safe-parser": "^5.0.4", + "cli-highlight": "^2.1.11", + "colord": "^2.9.3", + "css-what": "^6.1.0", + "dedent": "^1.5.3", "esbuild": "^0.20.2", "esbuild-register": "^3.5.0", "eslint": "^8.57.0", + "postcss-nested": "^6.0.1", + "postcss-safe-parser": "^7.0.0", "prettier": "^3.2.5", "tailwindcss": "^3.4.3", "tsup": "^8.0.2", - "typescript": "^5.4.4", + "typescript": "^5.4.5", "vite": "^5.2.8", "vitest": "^1.4.0" }, @@ -46,4 +52,4 @@ "singleQuote": false, "trailingComma": "es5" } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f337982..2dbbd2f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,7 +21,7 @@ dependencies: devDependencies: '@aet/eslint-rules': specifier: ^0.0.22 - version: 0.0.22(eslint@8.57.0)(typescript@5.4.4) + version: 0.0.22(eslint@8.57.0)(typescript@5.4.5) '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 @@ -35,11 +35,23 @@ devDependencies: specifier: ^4.17.0 version: 4.17.0 '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^20.12.7 + version: 20.12.7 + '@types/postcss-safe-parser': + specifier: ^5.0.4 + version: 5.0.4 + cli-highlight: + specifier: ^2.1.11 + version: 2.1.11 + colord: + specifier: ^2.9.3 + version: 2.9.3 + css-what: + specifier: ^6.1.0 + version: 6.1.0 dedent: - specifier: ^1.5.1 - version: 1.5.1 + specifier: ^1.5.3 + version: 1.5.3 esbuild: specifier: ^0.20.2 version: 0.20.2 @@ -49,6 +61,12 @@ devDependencies: eslint: specifier: ^8.57.0 version: 8.57.0 + postcss-nested: + specifier: ^6.0.1 + version: 6.0.1(postcss@8.4.38) + postcss-safe-parser: + specifier: ^7.0.0 + version: 7.0.0(postcss@8.4.38) prettier: specifier: ^3.2.5 version: 3.2.5 @@ -57,16 +75,16 @@ devDependencies: version: 3.4.3 tsup: specifier: ^8.0.2 - version: 8.0.2(postcss@8.4.38)(typescript@5.4.4) + version: 8.0.2(postcss@8.4.38)(typescript@5.4.5) typescript: - specifier: ^5.4.4 - version: 5.4.4 + specifier: ^5.4.5 + version: 5.4.5 vite: specifier: ^5.2.8 - version: 5.2.8(@types/node@20.12.5) + version: 5.2.8(@types/node@20.12.7) vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5) + version: 1.4.0(@types/node@20.12.7) packages: @@ -75,7 +93,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /@aet/eslint-rules@0.0.22(eslint@8.57.0)(typescript@5.4.4): + /@aet/eslint-rules@0.0.22(eslint@8.57.0)(typescript@5.4.5): resolution: {integrity: sha512-PLAnaYlb6GdG6gKjQP5B8XckOa7driZL1rbw51wGTYTl/0Etqu5R/u4TkQSYePZab7xCIrJuPSC3PsBEhI5pvQ==} peerDependencies: eslint: ^8.57.0 @@ -83,10 +101,10 @@ packages: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/eslint': 8.56.7 - '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.5.0)(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/type-utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.5.0)(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/type-utils': 7.5.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.5) aria-query: 5.3.0 axe-core: 4.9.0 axobject-query: 4.0.0 @@ -115,7 +133,7 @@ packages: resolve: 2.0.0-next.5 semver: 7.6.0 tsconfig-paths: 4.2.0 - typescript: 5.4.4 + typescript: 5.4.5 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -1074,8 +1092,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.12.5: - resolution: {integrity: sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==} + /@types/node@20.12.7: + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: undici-types: 5.26.5 dev: true @@ -1084,6 +1102,12 @@ packages: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true + /@types/postcss-safe-parser@5.0.4: + resolution: {integrity: sha512-5zGTm1jsW3j4+omgND1SIDbrZOcigTuxa4ihppvKbLkg2INUGBHV/fWNRSRFibK084tU3fxqZ/kVoSIGqRHnrQ==} + dependencies: + postcss: 8.4.38 + dev: true + /@types/semver@7.5.8: resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true @@ -1091,10 +1115,10 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.7 dev: true - /@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0)(eslint@8.57.0)(typescript@5.4.4): + /@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0)(eslint@8.57.0)(typescript@5.4.5): resolution: {integrity: sha512-HpqNTH8Du34nLxbKgVMGljZMG0rJd2O9ecvr2QLYp+7512ty1j42KnsFwspPXg1Vh8an9YImf6CokUBltisZFQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1106,10 +1130,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/type-utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/type-utils': 7.5.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.5.0 debug: 4.3.4 eslint: 8.57.0 @@ -1117,13 +1141,13 @@ packages: ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.4) - typescript: 5.4.4 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4): + /@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.5): resolution: {integrity: sha512-cj+XGhNujfD2/wzR1tabNsidnYRaFfEkcULdcIyVBYcXjBvBKOes+mpMBP7hMpOyk+gBcfXsrg4NBGAStQyxjQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1135,11 +1159,11 @@ packages: dependencies: '@typescript-eslint/scope-manager': 7.5.0 '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.5.0 debug: 4.3.4 eslint: 8.57.0 - typescript: 5.4.4 + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true @@ -1152,7 +1176,7 @@ packages: '@typescript-eslint/visitor-keys': 7.5.0 dev: true - /@typescript-eslint/type-utils@7.5.0(eslint@8.57.0)(typescript@5.4.4): + /@typescript-eslint/type-utils@7.5.0(eslint@8.57.0)(typescript@5.4.5): resolution: {integrity: sha512-A021Rj33+G8mx2Dqh0nMO9GyjjIBK3MqgVgZ2qlKf6CJy51wY/lkkFqq3TqqnH34XyAHUkq27IjlUkWlQRpLHw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1162,12 +1186,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) - '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.5) debug: 4.3.4 eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.4.4) - typescript: 5.4.4 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true @@ -1177,7 +1201,7 @@ packages: engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/typescript-estree@7.5.0(typescript@5.4.4): + /@typescript-eslint/typescript-estree@7.5.0(typescript@5.4.5): resolution: {integrity: sha512-YklQQfe0Rv2PZEueLTUffiQGKQneiIEKKnfIqPIOxgM9lKSZFCjT5Ad4VqRKj/U4+kQE3fa8YQpskViL7WjdPQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1193,13 +1217,13 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.4) - typescript: 5.4.4 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@7.5.0(eslint@8.57.0)(typescript@5.4.4): + /@typescript-eslint/utils@7.5.0(eslint@8.57.0)(typescript@5.4.5): resolution: {integrity: sha512-3vZl9u0R+/FLQcpy2EHyRGNqAS/ofJ3Ji8aebilfJe+fobK8+LbIFmrHciLVDxjDoONmufDcnVSF38KwMEOjzw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1210,7 +1234,7 @@ packages: '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.5.0 '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.5) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -1522,6 +1546,27 @@ packages: escape-string-regexp: 1.0.5 dev: true + /cli-highlight@2.1.11: + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + dependencies: + chalk: 4.1.2 + highlight.js: 10.7.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + yargs: 16.2.0 + dev: true + + /cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -1541,6 +1586,10 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true + /colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + dev: true + /commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -1574,6 +1623,11 @@ packages: which: 2.0.2 dev: true + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -1606,8 +1660,8 @@ packages: dependencies: ms: 2.1.2 - /dedent@1.5.1: - resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} + /dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -1832,7 +1886,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.5) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -2129,6 +2183,11 @@ packages: engines: {node: '>=6.9.0'} dev: false + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + /get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true @@ -2234,6 +2293,10 @@ packages: function-bind: 1.1.2 dev: true + /highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + dev: true + /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true @@ -2755,6 +2818,20 @@ packages: lines-and-columns: 1.2.4 dev: true + /parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + dependencies: + parse5: 6.0.1 + dev: true + + /parse5@5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + dev: true + + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: true + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -2880,6 +2957,15 @@ packages: postcss-selector-parser: 6.0.16 dev: true + /postcss-safe-parser@7.0.0(postcss@8.4.38): + resolution: {integrity: sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==} + engines: {node: '>=18.0'} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.38 + dev: true + /postcss-selector-parser@6.0.16: resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} engines: {node: '>=4'} @@ -2977,6 +3063,11 @@ packages: jsesc: 0.5.0 dev: true + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -3334,13 +3425,13 @@ packages: hasBin: true dev: true - /ts-api-utils@1.3.0(typescript@5.4.4): + /ts-api-utils@1.3.0(typescript@5.4.5): resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.4.4 + typescript: 5.4.5 dev: true /ts-interface-checker@0.1.13: @@ -3356,7 +3447,7 @@ packages: strip-bom: 3.0.0 dev: true - /tsup@8.0.2(postcss@8.4.38)(typescript@5.4.4): + /tsup@8.0.2(postcss@8.4.38)(typescript@5.4.5): resolution: {integrity: sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==} engines: {node: '>=18'} hasBin: true @@ -3390,7 +3481,7 @@ packages: source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 - typescript: 5.4.4 + typescript: 5.4.5 transitivePeerDependencies: - supports-color - ts-node @@ -3423,8 +3514,8 @@ packages: engines: {node: '>=8'} dev: true - /typescript@5.4.4: - resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true dev: true @@ -3464,7 +3555,7 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite-node@1.4.0(@types/node@20.12.5): + /vite-node@1.4.0(@types/node@20.12.7): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3473,7 +3564,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' - less @@ -3485,7 +3576,7 @@ packages: - terser dev: true - /vite@5.2.8(@types/node@20.12.5): + /vite@5.2.8(@types/node@20.12.7): resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3513,7 +3604,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.7 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.13.2 @@ -3521,7 +3612,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.12.5): + /vitest@1.4.0(@types/node@20.12.7): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3546,7 +3637,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.7 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -3564,8 +3655,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.6.0 tinypool: 0.8.3 - vite: 5.2.8(@types/node@20.12.5) - vite-node: 1.4.0(@types/node@20.12.5) + vite: 5.2.8(@types/node@20.12.7) + vite-node: 1.4.0(@types/node@20.12.7) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -3628,6 +3719,11 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} dev: false @@ -3642,6 +3738,24 @@ packages: hasBin: true dev: true + /yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: true + /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} diff --git a/scripts/index.ts b/scripts/index.ts index a48ccbe..5fc9ac0 100755 --- a/scripts/index.ts +++ b/scripts/index.ts @@ -1,8 +1,8 @@ #!/usr/bin/env bun -import { type Options, build } from "tsup"; import { promises as fs } from "node:fs"; -import tsupConfig from "../tsup.config"; +import { type Options, build } from "tsup"; import { pick } from "lodash"; +import tsupConfig from "../tsup.config"; import pkg from "../package.json" with { type: "json" }; await build(tsupConfig as Options); diff --git a/src/esbuild-babel.ts b/src/esbuild-babel.ts index 82bffda..4f3c794 100644 --- a/src/esbuild-babel.ts +++ b/src/esbuild-babel.ts @@ -36,10 +36,18 @@ export const babelPlugin = ({ const { code } = transformSync(load(), { parserOpts: { - plugins: ["jsx", "decorators", "typescript", "importAttributes"], + plugins: [ + "jsx", + "decorators", + "typescript", + "importAttributes", + "explicitResourceManagement", + "v8intrinsic", + ], }, filename: path, plugins, + sourceType: "module", })!; return { diff --git a/src/types.d.ts b/src/types.d.ts new file mode 100644 index 0000000..e927e5f --- /dev/null +++ b/src/types.d.ts @@ -0,0 +1,3 @@ +interface Array { + filter(predicate: BooleanConstructor): Exclude[]; +}