From 28789ea0858c9faf959bfcd73768780e6f2b12c8 Mon Sep 17 00:00:00 2001 From: Phillip Barta Date: Sun, 22 Sep 2024 23:10:36 +0200 Subject: [PATCH 01/21] chore(repo): remove unused repo devDependencies (#1766) chore: remove unused repo devDependencies --- package.json | 12 +-- pnpm-lock.yaml | 277 ++++--------------------------------------------- 2 files changed, 22 insertions(+), 267 deletions(-) diff --git a/package.json b/package.json index b487e0040..d8183b71a 100644 --- a/package.json +++ b/package.json @@ -17,20 +17,15 @@ "security": "pnpm audit --audit-level=high" }, "devDependencies": { - "@ava/babel": "2.0.0", "@dot/versioner": "^0.3.1", "@rollup/plugin-typescript": "^9.0.1", - "@types/conventional-commits-parser": "^3.0.2", "@types/node": "14.18.30", - "@types/semver": "^7.3.7", "@types/source-map-support": "^0.5.4", - "@types/yargs-parser": "^20.2.1", "@typescript-eslint/eslint-plugin": "^5.38.0", "@typescript-eslint/parser": "^5.38.0", "ava": "^4.3.3", "chalk": "^4.1.0", "codecov-lite": "2.0.0", - "conventional-commits-parser": "^3.2.1", "del-cli": "^5.0.0", "eslint-config-rollup": "^3.0.1", "esm": "^3.2.25", @@ -41,14 +36,9 @@ "nyc": "^15.1.0", "pnpm": "^8.7.5", "prettier-plugin-package": "^1.3.0", - "semver": "^7.3.2", "source-map-support": "^0.5.21", "ts-node": "10.9.1", - "tsconfig-paths": "^3.9.0", - "typescript": "^4.8.3", - "write-pkg": "^4.0.0", - "yaml": "^1.10.0", - "yargs-parser": "^20.2.9" + "typescript": "^4.8.3" }, "ava": { "files": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a7b537a10..321ed8bc4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,30 +8,18 @@ importers: .: devDependencies: - '@ava/babel': - specifier: 2.0.0 - version: 2.0.0 '@dot/versioner': specifier: ^0.3.1 version: 0.3.1 '@rollup/plugin-typescript': specifier: ^9.0.1 - version: 9.0.1(rollup@4.0.0-24)(typescript@4.8.4) - '@types/conventional-commits-parser': - specifier: ^3.0.2 - version: 3.0.2 + version: 9.0.1(typescript@4.8.4) '@types/node': specifier: 14.18.30 version: 14.18.30 - '@types/semver': - specifier: ^7.3.7 - version: 7.3.12 '@types/source-map-support': specifier: ^0.5.4 version: 0.5.6 - '@types/yargs-parser': - specifier: ^20.2.1 - version: 20.2.2 '@typescript-eslint/eslint-plugin': specifier: ^5.38.0 version: 5.39.0(@typescript-eslint/parser@5.39.0)(eslint@8.57.0)(typescript@4.8.4) @@ -47,9 +35,6 @@ importers: codecov-lite: specifier: 2.0.0 version: 2.0.0 - conventional-commits-parser: - specifier: ^3.2.1 - version: 3.2.4 del-cli: specifier: ^5.0.0 version: 5.0.0 @@ -80,30 +65,15 @@ importers: prettier-plugin-package: specifier: ^1.3.0 version: 1.3.0(prettier@2.8.8) - semver: - specifier: ^7.3.2 - version: 7.3.8 source-map-support: specifier: ^0.5.21 version: 0.5.21 ts-node: specifier: 10.9.1 version: 10.9.1(@types/node@14.18.30)(typescript@4.8.4) - tsconfig-paths: - specifier: ^3.9.0 - version: 3.14.1 typescript: specifier: ^4.8.3 version: 4.8.4 - write-pkg: - specifier: ^4.0.0 - version: 4.0.0 - yaml: - specifier: ^1.10.0 - version: 1.10.2 - yargs-parser: - specifier: ^20.2.9 - version: 20.2.9 packages/alias: dependencies: @@ -850,40 +820,6 @@ packages: '@jridgewell/trace-mapping': 0.3.16 dev: true - /@ava/babel@2.0.0: - resolution: {integrity: sha512-50ol1X2AOuX82UskqQYx7XCvv/05GQA2dib/n4XP99sg63fIVtzwpPZ7amLN7mghhGRr2fjXFbuRgJ4+VeDsIg==} - engines: {node: '>=12.22 <13 || >=14.16 <15 || >=16'} - dependencies: - '@ava/require-precompiled': 1.0.0 - '@babel/core': 7.19.3 - '@babel/generator': 7.19.4 - '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.19.3) - '@babel/plugin-proposal-optional-chaining': 7.18.9(@babel/core@7.19.3) - '@babel/plugin-transform-modules-commonjs': 7.18.6(@babel/core@7.19.3) - babel-plugin-espower: 3.0.1 - concordance: 5.0.4 - convert-source-map: 1.8.0 - dot-prop: 6.0.1 - empower-core: 1.2.0 - escape-string-regexp: 4.0.0 - find-up: 5.0.0 - is-plain-object: 5.0.0 - md5-hex: 3.0.1 - package-hash: 4.0.0 - pkg-conf: 3.1.0 - source-map-support: 0.5.21 - strip-bom-buf: 2.0.0 - write-file-atomic: 3.0.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@ava/require-precompiled@1.0.0: - resolution: {integrity: sha512-N7w4g+P/SUL8SF+HC4Z4e/ctV6nQ5AERC90K90r4xZQ8WVrJux9albvfyYAzygyU47CSqMWh6yJwFs8DYaeWmg==} - engines: {node: '>=10'} - dev: true - /@babel/code-frame@7.18.6: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} @@ -2195,6 +2131,7 @@ packages: /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4 @@ -2223,6 +2160,7 @@ packages: /@humanwhocodes/object-schema@2.0.3: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead dev: true /@isaacs/cliui@8.0.2: @@ -2443,6 +2381,24 @@ packages: typescript: 4.8.4 dev: true + /@rollup/plugin-typescript@9.0.1(typescript@4.8.4): + resolution: {integrity: sha512-fj+CTk8+HvFCEwwDQdNgWd0lIJVXtMQ0Z3vH/ZgzFSbK2s1zs5wjZrjzrhViTTN+UF49+P69/tybgKRdGHpj/Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.14.0||^3.0.0 + tslib: '*' + typescript: '>=3.7.0' + peerDependenciesMeta: + rollup: + optional: true + tslib: + optional: true + dependencies: + '@rollup/pluginutils': 4.2.1 + resolve: 1.22.1 + typescript: 4.8.4 + dev: true + /@rollup/plugin-virtual@3.0.0(rollup@4.0.0-24): resolution: {integrity: sha512-K9KORe1myM62o0lKkNR4MmCxjwuAXsZEtIHpaILfv4kILXTOrXt/R2ha7PzMcCHPYdnkWPiBZK8ed4Zr3Ll5lQ==} engines: {node: '>=14.0.0'} @@ -2797,12 +2753,6 @@ packages: '@types/responselike': 1.0.0 dev: true - /@types/conventional-commits-parser@3.0.2: - resolution: {integrity: sha512-1kVPUHFaart1iGRFxKn8WNXYEDVAgMb+DLatgql2dGg9jTGf3bNxWtN//C/tDG3ckOLg4u7SSx+qcn8VjzI5zg==} - dependencies: - '@types/node': 14.18.30 - dev: true - /@types/d3-dsv@3.0.0: resolution: {integrity: sha512-o0/7RlMl9p5n6FQDptuJVMxDf/7EDEv2SYEO/CwdG2tr1hTfUVi0Iavkk2ax+VpaQ/1jVhpnj5rq1nj8vwhn2A==} dev: false @@ -2881,10 +2831,6 @@ packages: source-map: 0.6.1 dev: true - /@types/yargs-parser@20.2.2: - resolution: {integrity: sha512-sUWMriymrSqTvxCmCkf+7k392TNDcMJBHI1/rysWJxKnWAan/Zk4gZ/GEieSRo4EqIEPpbGU3Sd/0KTRoIA3pA==} - dev: true - /@typescript-eslint/eslint-plugin@5.39.0(@typescript-eslint/parser@5.39.0)(eslint@8.57.0)(typescript@4.8.4): resolution: {integrity: sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3456,18 +3402,6 @@ packages: object.assign: 4.1.4 dev: true - /babel-plugin-espower@3.0.1: - resolution: {integrity: sha512-Ms49U7VIAtQ/TtcqRbD6UBmJBUCSxiC3+zPc+eGqxKUIFO1lTshyEDRUjhoAbd2rWfwYf3cZ62oXozrd8W6J0A==} - dependencies: - '@babel/generator': 7.19.4 - '@babel/parser': 7.19.4 - call-matcher: 1.1.0 - core-js: 2.6.12 - espower-location-detector: 1.0.0 - espurify: 1.8.1 - estraverse: 4.3.0 - dev: true - /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.19.3): resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} peerDependencies: @@ -3602,20 +3536,6 @@ packages: get-intrinsic: 1.1.3 dev: true - /call-matcher@1.1.0: - resolution: {integrity: sha512-IoQLeNwwf9KTNbtSA7aEBb1yfDbdnzwjCetjkC8io5oGeOmK2CBNdg0xr+tadRYKO0p7uQyZzvon0kXlZbvGrw==} - dependencies: - core-js: 2.6.12 - deep-equal: 1.1.1 - espurify: 1.8.1 - estraverse: 4.3.0 - dev: true - - /call-signature@0.0.2: - resolution: {integrity: sha512-qvYvkAVcoae0obt8OsZn0VEBHeEpvYIZDy1gGYtZDJG0fHawew+Mi0dBjieFz8F8dzQ2Kr19+nsDm+T5XFVs+Q==} - engines: {node: '>=0.10.0'} - dev: true - /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -3898,12 +3818,6 @@ packages: browserslist: 4.21.4 dev: true - /core-js@2.6.12: - resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} - deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. - requiresBuild: true - dev: true - /cosmiconfig@7.0.1: resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} engines: {node: '>=10'} @@ -4123,17 +4037,6 @@ packages: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true - /deep-equal@1.1.1: - resolution: {integrity: sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==} - dependencies: - is-arguments: 1.1.1 - is-date-object: 1.0.5 - is-regex: 1.1.4 - object-is: 1.1.5 - object-keys: 1.1.1 - regexp.prototype.flags: 1.4.3 - dev: true - /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -4259,13 +4162,6 @@ packages: domhandler: 4.3.1 dev: true - /dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} - dependencies: - is-obj: 2.0.0 - dev: true - /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -4284,13 +4180,6 @@ packages: /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - /empower-core@1.2.0: - resolution: {integrity: sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==} - dependencies: - call-signature: 0.0.2 - core-js: 2.6.12 - dev: true - /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: @@ -4747,15 +4636,6 @@ packages: engines: {node: '>=6'} dev: true - /espower-location-detector@1.0.0: - resolution: {integrity: sha512-Y/3H6ytYwqC3YcOc0gOU22Lp3eI5GAFGOymTdzFyfaiglKgtsw2dePOgXY3yrV+QcLPMPiVYwBU9RKaDoh2bbQ==} - dependencies: - is-url: 1.2.4 - path-is-absolute: 1.0.1 - source-map: 0.5.7 - xtend: 4.0.2 - dev: true - /espree@9.4.0: resolution: {integrity: sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4779,12 +4659,6 @@ packages: hasBin: true dev: true - /espurify@1.8.1: - resolution: {integrity: sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==} - dependencies: - core-js: 2.6.12 - dev: true - /esquery@1.4.0: resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} engines: {node: '>=0.10'} @@ -4906,13 +4780,6 @@ packages: pkg-dir: 4.2.0 dev: true - /find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - dependencies: - locate-path: 3.0.0 - dev: true - /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -5366,14 +5233,6 @@ packages: engines: {node: '>=8'} dev: true - /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true @@ -5477,11 +5336,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - dev: true - /is-path-cwd@2.2.0: resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} engines: {node: '>=6'} @@ -5580,14 +5434,6 @@ packages: engines: {node: '>=12'} dev: true - /is-url@1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} - dev: true - - /is-utf8@0.2.1: - resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} - dev: true - /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: @@ -5719,10 +5565,6 @@ packages: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} dev: true - /json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - dev: true - /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true @@ -5828,17 +5670,6 @@ packages: wrap-ansi: 7.0.0 dev: true - /load-json-file@5.3.0: - resolution: {integrity: sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==} - engines: {node: '>=6'} - dependencies: - graceful-fs: 4.2.10 - parse-json: 4.0.0 - pify: 4.0.1 - strip-bom: 3.0.0 - type-fest: 0.3.1 - dev: true - /load-json-file@7.0.1: resolution: {integrity: sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -5853,14 +5684,6 @@ packages: resolution: {integrity: sha512-n2GmejDXtOPBAZdIiEFy5dJ5N38xBCXLNOtw2WpB9kGh6pnrEuKlwYI+Tkpofc4wDtVXHtoAOJaMRlYG/oYaxg==} dev: true - /locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 - dev: true - /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -6315,14 +6138,6 @@ packages: resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} dev: true - /object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - dev: true - /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} @@ -6429,13 +6244,6 @@ packages: yocto-queue: 1.0.0 dev: true - /p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} - dependencies: - p-limit: 2.3.0 - dev: true - /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -6518,14 +6326,6 @@ packages: dependencies: callsites: 3.1.0 - /parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - dev: true - /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -6541,11 +6341,6 @@ packages: engines: {node: '>=6'} dev: true - /path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - dev: true - /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -6607,14 +6402,6 @@ packages: engines: {node: '>= 6'} dev: false - /pkg-conf@3.1.0: - resolution: {integrity: sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==} - engines: {node: '>=6'} - dependencies: - find-up: 3.0.0 - load-json-file: 5.3.0 - dev: true - /pkg-conf@4.0.0: resolution: {integrity: sha512-7dmgi4UY4qk+4mj5Cd8v/GExPo0K+SlY+hulOSdfZ/T6jVH6//y7NtzZo5WrfhDBxuQ0jCa7fLZmNaNh7EWL/w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7581,11 +7368,6 @@ packages: buffer-from: 1.1.2 source-map: 0.6.1 - /source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - dev: true - /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -7733,13 +7515,6 @@ packages: ansi-regex: 6.0.1 dev: false - /strip-bom-buf@2.0.0: - resolution: {integrity: sha512-gLFNHucd6gzb8jMsl5QmZ3QgnUJmp7qn4uUSHNwEXumAp7YizoGYw19ZUVfuq4aBOQUtyn2k8X/CwzWB73W2lQ==} - engines: {node: '>=8'} - dependencies: - is-utf8: 0.2.1 - dev: true - /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -8018,11 +7793,6 @@ packages: engines: {node: '>=10'} dev: true - /type-fest@0.3.1: - resolution: {integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==} - engines: {node: '>=6'} - dev: true - /type-fest@0.4.1: resolution: {integrity: sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==} engines: {node: '>=6'} @@ -8260,11 +8030,6 @@ packages: write-json-file: 3.2.0 dev: true - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true - /y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true From 3275e1d8727cdf20d502ce1c72d787da434e6147 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Sun, 22 Sep 2024 22:18:05 +0100 Subject: [PATCH 02/21] fix(alias): remove unused slash dependency (#1763) chore(alias): remove unused slash dependency --- packages/alias/package.json | 3 --- pnpm-lock.yaml | 5 +---- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/alias/package.json b/packages/alias/package.json index a550cb8f6..b189e8698 100755 --- a/packages/alias/package.json +++ b/packages/alias/package.json @@ -58,9 +58,6 @@ "optional": true } }, - "dependencies": { - "slash": "^4.0.0" - }, "devDependencies": { "@rollup/plugin-node-resolve": "^15.0.0", "@rollup/plugin-typescript": "^9.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 321ed8bc4..498e92c76 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -76,10 +76,6 @@ importers: version: 4.8.4 packages/alias: - dependencies: - slash: - specifier: ^4.0.0 - version: 4.0.0 devDependencies: '@rollup/plugin-node-resolve': specifier: ^15.0.0 @@ -7315,6 +7311,7 @@ packages: /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} + dev: true /slice-ansi@3.0.0: resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} From 369a7684564ebd8fda43a8edf2bf64398c14e72c Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 21:19:36 +0000 Subject: [PATCH 03/21] chore(release): alias v5.1.1 --- packages/alias/CHANGELOG.md | 8 ++++++++ packages/alias/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/alias/CHANGELOG.md b/packages/alias/CHANGELOG.md index f264d0276..1b3ec3d8c 100755 --- a/packages/alias/CHANGELOG.md +++ b/packages/alias/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-alias ChangeLog +## v5.1.1 + +_2024-09-22_ + +### Bugfixes + +- fix: remove unused slash dependency (#1763) + ## v5.1.0 _2023-11-25_ diff --git a/packages/alias/package.json b/packages/alias/package.json index b189e8698..9051cad88 100755 --- a/packages/alias/package.json +++ b/packages/alias/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-alias", - "version": "5.1.0", + "version": "5.1.1", "publishConfig": { "access": "public" }, From 184d81a6745e1ed3948411dccb8da2a3e0fdac3d Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Sun, 22 Sep 2024 23:53:50 +0100 Subject: [PATCH 04/21] fix(pluginutils): improve regex performance (#1753) perf(pluginutils): improve regex performance --- packages/pluginutils/src/attachScopes.ts | 4 ++-- packages/pluginutils/src/dataToEsm.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/pluginutils/src/attachScopes.ts b/packages/pluginutils/src/attachScopes.ts index d5dace4ed..fc6392ddb 100755 --- a/packages/pluginutils/src/attachScopes.ts +++ b/packages/pluginutils/src/attachScopes.ts @@ -66,7 +66,7 @@ const attachScopes: AttachScopes = function attachScopes(ast, propertyName = 'sc const node = n as estree.Node; // function foo () {...} // class Foo {...} - if (/(Function|Class)Declaration/.test(node.type)) { + if (/(?:Function|Class)Declaration/.test(node.type)) { scope.addDeclaration(node, false, false); } @@ -98,7 +98,7 @@ const attachScopes: AttachScopes = function attachScopes(ast, propertyName = 'sc } // create new for scope - if (/For(In|Of)?Statement/.test(node.type)) { + if (/For(?:In|Of)?Statement/.test(node.type)) { newScope = new Scope({ parent: scope, block: true diff --git a/packages/pluginutils/src/dataToEsm.ts b/packages/pluginutils/src/dataToEsm.ts index 312017220..4be5d7ae4 100755 --- a/packages/pluginutils/src/dataToEsm.ts +++ b/packages/pluginutils/src/dataToEsm.ts @@ -91,7 +91,7 @@ const dataToEsm: DataToEsm = function dataToEsm(data, options = {}) { let maxUnderbarPrefixLength = 0; for (const key of Object.keys(data)) { - const underbarPrefixLength = key.match(/^(_+)/)?.[0].length ?? 0; + const underbarPrefixLength = /^(_+)/.exec(key)?.[0].length ?? 0; if (underbarPrefixLength > maxUnderbarPrefixLength) { maxUnderbarPrefixLength = underbarPrefixLength; } From 68e50caa49e04ee3114a575c4251449c1ae7de98 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 22:55:31 +0000 Subject: [PATCH 05/21] chore(release): pluginutils v5.1.1 --- packages/pluginutils/CHANGELOG.md | 8 ++++++++ packages/pluginutils/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/pluginutils/CHANGELOG.md b/packages/pluginutils/CHANGELOG.md index ae8bd877d..10f9df2eb 100755 --- a/packages/pluginutils/CHANGELOG.md +++ b/packages/pluginutils/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/pluginutils ChangeLog +## v5.1.1 + +_2024-09-22_ + +### Bugfixes + +- fix: improve regex performance (#1753) + ## v5.1.0 _2023-11-28_ diff --git a/packages/pluginutils/package.json b/packages/pluginutils/package.json index dcbf42059..7476ddc27 100644 --- a/packages/pluginutils/package.json +++ b/packages/pluginutils/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/pluginutils", - "version": "5.1.0", + "version": "5.1.1", "publishConfig": { "access": "public" }, From 1a734fc048468b5978ca804c0b1a98093d4cdda5 Mon Sep 17 00:00:00 2001 From: Grex Date: Sun, 22 Sep 2024 15:03:18 -0800 Subject: [PATCH 06/21] fix(graphql): handle parentheses in fragment import file paths. (#1746) fix(graphql): handle parentheses in fragment import file paths --- packages/graphql/src/toESModules.js | 10 ++++------ .../(parentheses)/fragment.graphql | 3 +++ .../[brackets]/fragment.graphql | 3 +++ .../fragments-with-special-characters/index.js | 2 ++ .../fragments-with-special-characters/query.graphql | 7 +++++++ packages/graphql/test/test.js | 12 ++++++++++++ 6 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 packages/graphql/test/fixtures/fragments-with-special-characters/(parentheses)/fragment.graphql create mode 100644 packages/graphql/test/fixtures/fragments-with-special-characters/[brackets]/fragment.graphql create mode 100644 packages/graphql/test/fixtures/fragments-with-special-characters/index.js create mode 100644 packages/graphql/test/fixtures/fragments-with-special-characters/query.graphql diff --git a/packages/graphql/src/toESModules.js b/packages/graphql/src/toESModules.js index 08647fc36..cb2ccc6ce 100644 --- a/packages/graphql/src/toESModules.js +++ b/packages/graphql/src/toESModules.js @@ -29,15 +29,13 @@ function replaceRequires(source) { let index = 0; // replace a require statement with a variable - const replaceSource = source.replace(/require\(([^)]+)\)/gi, (match, path) => { - const replacePath = path.replace(/["']+/g, ''); - - if (!imports[replacePath]) { + const replaceSource = source.replace(/require\(["']([^"']+)["']\)/gi, (match, path) => { + if (!imports[path]) { index += 1; - imports[replacePath] = `frgmt${index}`; + imports[path] = `frgmt${index}`; } - return imports[replacePath]; + return imports[path]; }); // prepare import statements diff --git a/packages/graphql/test/fixtures/fragments-with-special-characters/(parentheses)/fragment.graphql b/packages/graphql/test/fixtures/fragments-with-special-characters/(parentheses)/fragment.graphql new file mode 100644 index 000000000..706b5d691 --- /dev/null +++ b/packages/graphql/test/fixtures/fragments-with-special-characters/(parentheses)/fragment.graphql @@ -0,0 +1,3 @@ +fragment ParenthesesFragment on Parentheses { + id +} diff --git a/packages/graphql/test/fixtures/fragments-with-special-characters/[brackets]/fragment.graphql b/packages/graphql/test/fixtures/fragments-with-special-characters/[brackets]/fragment.graphql new file mode 100644 index 000000000..3821b0882 --- /dev/null +++ b/packages/graphql/test/fixtures/fragments-with-special-characters/[brackets]/fragment.graphql @@ -0,0 +1,3 @@ +fragment BracketsFragment on Brackets { + id +} diff --git a/packages/graphql/test/fixtures/fragments-with-special-characters/index.js b/packages/graphql/test/fixtures/fragments-with-special-characters/index.js new file mode 100644 index 000000000..286dd2116 --- /dev/null +++ b/packages/graphql/test/fixtures/fragments-with-special-characters/index.js @@ -0,0 +1,2 @@ +// eslint-disable-next-line import/prefer-default-export +export { default as doc } from './query.graphql'; diff --git a/packages/graphql/test/fixtures/fragments-with-special-characters/query.graphql b/packages/graphql/test/fixtures/fragments-with-special-characters/query.graphql new file mode 100644 index 000000000..390e3cc12 --- /dev/null +++ b/packages/graphql/test/fixtures/fragments-with-special-characters/query.graphql @@ -0,0 +1,7 @@ +#import "./(parentheses)/fragment.graphql" +#import "./[brackets]/fragment.graphql" + +query Query { + ...ParenthesesFragment + ...BracketsFragment +} diff --git a/packages/graphql/test/test.js b/packages/graphql/test/test.js index b4af33306..d085da2b4 100755 --- a/packages/graphql/test/test.js +++ b/packages/graphql/test/test.js @@ -62,3 +62,15 @@ test('should support graphqls schema files', async (t) => { t.truthy('doc' in module.exports); t.is(module.exports.doc.kind, 'Document'); }); + +test('should support fragment imports with brackets and parentheses in file paths', async (t) => { + const bundle = await rollup({ + input: 'fixtures/fragments-with-special-characters/index.js', + plugins: [graphql()] + }); + + const { module } = await testBundle(t, bundle); + + t.truthy('doc' in module.exports); + t.is(module.exports.doc.kind, 'Document'); +}); From 1b2ce153f02713552c06a32d0900eaa557f33482 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 23:04:46 +0000 Subject: [PATCH 07/21] chore(release): graphql v2.0.5 --- packages/graphql/CHANGELOG.md | 8 ++++++++ packages/graphql/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/graphql/CHANGELOG.md b/packages/graphql/CHANGELOG.md index 20d2516d4..75b94223a 100644 --- a/packages/graphql/CHANGELOG.md +++ b/packages/graphql/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-graphql ChangeLog +## v2.0.5 + +_2024-09-22_ + +### Bugfixes + +- fix: handle parentheses in fragment import file paths. (#1746) + ## v2.0.4 _2023-10-05_ diff --git a/packages/graphql/package.json b/packages/graphql/package.json index 6280a1b7a..dc3565952 100644 --- a/packages/graphql/package.json +++ b/packages/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-graphql", - "version": "2.0.4", + "version": "2.0.5", "publishConfig": { "access": "public" }, From 190aa21155acb573cd634e76c9afd1fec5c92ca1 Mon Sep 17 00:00:00 2001 From: James Garbutt <43081j@users.noreply.github.com> Date: Mon, 23 Sep 2024 06:08:24 +0700 Subject: [PATCH 08/21] chore(node-resolve): remove is-builtin-module (#1735) Node has shipped `builtinModules` for some time now, so we no longer need a third party package to do this. Once the `engines` constraint is bumped in the `package.json`, we can also move to using the built-in `isBuiltin` function (available since 16.x). --- packages/node-resolve/package.json | 1 - packages/node-resolve/src/index.js | 7 +++++-- pnpm-lock.yaml | 11 +---------- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/packages/node-resolve/package.json b/packages/node-resolve/package.json index 78b7c922d..3280f59ed 100644 --- a/packages/node-resolve/package.json +++ b/packages/node-resolve/package.json @@ -64,7 +64,6 @@ "@rollup/pluginutils": "^5.0.1", "@types/resolve": "1.20.2", "deepmerge": "^4.2.2", - "is-builtin-module": "^3.2.1", "is-module": "^1.0.0", "resolve": "^1.22.1" }, diff --git a/packages/node-resolve/src/index.js b/packages/node-resolve/src/index.js index 3d389383d..dbf301c80 100644 --- a/packages/node-resolve/src/index.js +++ b/packages/node-resolve/src/index.js @@ -1,7 +1,8 @@ /* eslint-disable no-param-reassign, no-shadow, no-undefined */ import { dirname, normalize, resolve, sep } from 'path'; -import isBuiltinModule from 'is-builtin-module'; +import { builtinModules } from 'module'; + import deepMerge from 'deepmerge'; import isModule from 'is-module'; @@ -42,6 +43,8 @@ const defaults = { // TODO: set to false in next major release or remove allowExportsFolderMapping: true }; +const nodeImportPrefix = /^node:/; + export const DEFAULTS = deepFreeze(deepMerge({}, defaults)); export function nodeResolve(opts = {}) { @@ -190,7 +193,7 @@ export function nodeResolve(opts = {}) { allowExportsFolderMapping: options.allowExportsFolderMapping }); - const importeeIsBuiltin = isBuiltinModule(importee); + const importeeIsBuiltin = builtinModules.includes(importee.replace(nodeImportPrefix, '')); const resolved = importeeIsBuiltin && preferBuiltins ? { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 498e92c76..17b8e2cef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -487,9 +487,6 @@ importers: deepmerge: specifier: ^4.2.2 version: 4.2.2 - is-builtin-module: - specifier: ^3.2.1 - version: 3.2.1 is-module: specifier: ^1.0.0 version: 1.0.0 @@ -3496,6 +3493,7 @@ packages: /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} + dev: true /cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} @@ -5261,13 +5259,6 @@ packages: builtin-modules: 3.3.0 dev: true - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - dependencies: - builtin-modules: 3.3.0 - dev: false - /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} From 6d4bb6b8b1f04013c872c468e1e462e36a9bbe02 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 23:09:59 +0000 Subject: [PATCH 09/21] chore(release): node-resolve v15.2.4 --- packages/node-resolve/CHANGELOG.md | 8 ++++++++ packages/node-resolve/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/node-resolve/CHANGELOG.md b/packages/node-resolve/CHANGELOG.md index b0515adc8..ae6af6e4b 100755 --- a/packages/node-resolve/CHANGELOG.md +++ b/packages/node-resolve/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-node-resolve ChangeLog +## v15.2.4 + +_2024-09-22_ + +### Updates + +- chore: remove is-builtin-module (#1735) + ## v15.2.3 _2023-10-08_ diff --git a/packages/node-resolve/package.json b/packages/node-resolve/package.json index 3280f59ed..73fd1c285 100644 --- a/packages/node-resolve/package.json +++ b/packages/node-resolve/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-node-resolve", - "version": "15.2.3", + "version": "15.2.4", "publishConfig": { "access": "public" }, From d9141bfa9e384bda6371ce23ab5f9eaa792e01b0 Mon Sep 17 00:00:00 2001 From: Matthieu Sieben Date: Mon, 23 Sep 2024 01:28:40 +0200 Subject: [PATCH 10/21] fix(html): template function first arg is always provided (#1718) --- packages/html/types/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/html/types/index.d.ts b/packages/html/types/index.d.ts index f8d62ef33..715e9a03c 100644 --- a/packages/html/types/index.d.ts +++ b/packages/html/types/index.d.ts @@ -15,7 +15,7 @@ export interface RollupHtmlOptions { fileName?: string; meta?: Record[]; publicPath?: string; - template?: (templateoptions?: RollupHtmlTemplateOptions) => string; + template?: (templateoptions: RollupHtmlTemplateOptions) => string; } export function makeHtmlAttributes(attributes: Record): string; From 0bcd393094e264f159b45b8650c0763425ccef4e Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 23:30:10 +0000 Subject: [PATCH 11/21] chore(release): html v1.0.4 --- packages/html/CHANGELOG.md | 8 ++++++++ packages/html/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/html/CHANGELOG.md b/packages/html/CHANGELOG.md index 5a113334a..6b1514d94 100644 --- a/packages/html/CHANGELOG.md +++ b/packages/html/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-html ChangeLog +## v1.0.4 + +_2024-09-22_ + +### Bugfixes + +- fix: template function first arg is always provided (#1718) + ## v1.0.3 _2023-10-05_ diff --git a/packages/html/package.json b/packages/html/package.json index 4bfdf7371..2f53e9062 100644 --- a/packages/html/package.json +++ b/packages/html/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-html", - "version": "1.0.3", + "version": "1.0.4", "publishConfig": { "access": "public" }, From 34abd4f28a5e8bdb3c2d03d820faad8907d3856b Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Mon, 23 Sep 2024 00:37:45 +0100 Subject: [PATCH 12/21] fix(dynamic-import-vars): simplify regex (#1751) refactor(dynamic-import-vars): simplify regex --- packages/dynamic-import-vars/src/dynamic-import-to-glob.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dynamic-import-vars/src/dynamic-import-to-glob.js b/packages/dynamic-import-vars/src/dynamic-import-to-glob.js index 6dcf7d7fd..ed1ae978e 100644 --- a/packages/dynamic-import-vars/src/dynamic-import-to-glob.js +++ b/packages/dynamic-import-vars/src/dynamic-import-to-glob.js @@ -107,7 +107,7 @@ export function dynamicImportToGlob(node, sourceString) { } // Disallow ./*.ext - const ownDirectoryStarExtension = /^\.\/\*\.[\w]+$/; + const ownDirectoryStarExtension = /^\.\/\*\.\w+$/; if (ownDirectoryStarExtension.test(glob)) { throw new VariableDynamicImportError( `${ From 62fac8560a883d6490c74a2ce34e382ec5f35e61 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 23:39:14 +0000 Subject: [PATCH 13/21] chore(release): dynamic-import-vars v2.1.3 --- packages/dynamic-import-vars/CHANGELOG.md | 8 ++++++++ packages/dynamic-import-vars/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/dynamic-import-vars/CHANGELOG.md b/packages/dynamic-import-vars/CHANGELOG.md index 4c6e08a44..660134aa5 100644 --- a/packages/dynamic-import-vars/CHANGELOG.md +++ b/packages/dynamic-import-vars/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-dynamic-import-vars ChangeLog +## v2.1.3 + +_2024-09-22_ + +### Bugfixes + +- fix: simplify regex (#1751) + ## v2.1.2 _2023-11-28_ diff --git a/packages/dynamic-import-vars/package.json b/packages/dynamic-import-vars/package.json index 53b782d5e..d25ea21b9 100644 --- a/packages/dynamic-import-vars/package.json +++ b/packages/dynamic-import-vars/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-dynamic-import-vars", - "version": "2.1.2", + "version": "2.1.3", "publishConfig": { "access": "public" }, From a85b6491baf40ca13da3b98cd7df5dff35f6c774 Mon Sep 17 00:00:00 2001 From: lam eu ler <27113373+lameuler@users.noreply.github.com> Date: Mon, 23 Sep 2024 07:40:41 +0800 Subject: [PATCH 14/21] fix(typescript)!: correctly resolve filenames of declaration files for `output.file` (#1728) * test(typescript): add test case for invalid declarationDir with output.file * fix(typescript): correctly resolve output filename of declaration files when output.file is used * fix(typescript): validate that declarationDir is inside bundle output directory when using output.file * test(typescript): check for correct error for invalid declarationDir when using output.file --------- Co-authored-by: eu ler <27113373+u018f@users.noreply.github.com> --- packages/typescript/src/index.ts | 16 ++---------- packages/typescript/src/options/validate.ts | 22 +++++++++++----- packages/typescript/test/test.js | 28 +++++++++++++++++++++ 3 files changed, 46 insertions(+), 20 deletions(-) diff --git a/packages/typescript/src/index.ts b/packages/typescript/src/index.ts index 6b0eb2652..339a8ba40 100644 --- a/packages/typescript/src/index.ts +++ b/packages/typescript/src/index.ts @@ -178,20 +178,8 @@ export default function typescript(options: RollupTypescriptOptions = {}): Plugi if (outputOptions.dir) { baseDir = outputOptions.dir; } else if (outputOptions.file) { - // find common path of output.file and configured declation output - const outputDir = path.dirname(outputOptions.file); - const configured = path.resolve( - parsedOptions.options.declarationDir || - parsedOptions.options.outDir || - tsconfig || - process.cwd() - ); - const backwards = path - .relative(outputDir, configured) - .split(path.sep) - .filter((v) => v === '..') - .join(path.sep); - baseDir = path.normalize(`${outputDir}/${backwards}`); + // the bundle output directory used by rollup when outputOptions.file is used instead of outputOptions.dir + baseDir = path.dirname(outputOptions.file); } if (!baseDir) return; diff --git a/packages/typescript/src/options/validate.ts b/packages/typescript/src/options/validate.ts index 7dbc3367c..d0f22e3de 100644 --- a/packages/typescript/src/options/validate.ts +++ b/packages/typescript/src/options/validate.ts @@ -1,4 +1,4 @@ -import { relative } from 'path'; +import { relative, dirname } from 'path'; import type { OutputOptions, PluginContext } from 'rollup'; @@ -51,14 +51,24 @@ export function validatePaths( ); } + let outputDir: string | undefined = outputOptions.dir; + if (outputOptions.file) { + outputDir = dirname(outputOptions.file); + } for (const dirProperty of DIRECTORY_PROPS) { - if (compilerOptions[dirProperty] && outputOptions.dir) { + if (compilerOptions[dirProperty] && outputDir) { // Checks if the given path lies within Rollup output dir - const fromRollupDirToTs = relative(outputOptions.dir, compilerOptions[dirProperty]!); + const fromRollupDirToTs = relative(outputDir, compilerOptions[dirProperty]!); if (fromRollupDirToTs.startsWith('..')) { - context.error( - `@rollup/plugin-typescript: Path of Typescript compiler option '${dirProperty}' must be located inside Rollup 'dir' option.` - ); + if (outputOptions.dir) { + context.error( + `@rollup/plugin-typescript: Path of Typescript compiler option '${dirProperty}' must be located inside Rollup 'dir' option.` + ); + } else { + context.error( + `@rollup/plugin-typescript: Path of Typescript compiler option '${dirProperty}' must be located inside the same directory as the Rollup 'file' option.` + ); + } } } } diff --git a/packages/typescript/test/test.js b/packages/typescript/test/test.js index 127f98e19..d5ac91086 100644 --- a/packages/typescript/test/test.js +++ b/packages/typescript/test/test.js @@ -101,6 +101,34 @@ test.serial('ensures declarationDir is located in Rollup output dir', async (t) ); }); +test.serial( + 'ensures declarationDir is located in Rollup output directory when output.file is used', + async (t) => { + const bundle = await rollup({ + input: 'fixtures/basic/main.ts', + plugins: [ + typescript({ + tsconfig: 'fixtures/basic/tsconfig.json', + declarationDir: 'fixtures/basic/other/', + declaration: true + }) + ], + onwarn + }); + + // this should throw an error just like the equivalent setup using output.dir above + const wrongDirError = await t.throwsAsync(() => + getCode(bundle, { format: 'es', file: 'fixtures/basic/dist/index.js' }, true) + ); + t.true( + wrongDirError.message.includes( + `Path of Typescript compiler option 'declarationDir' must be located inside the same directory as the Rollup 'file' option` + ), + `Unexpected error message: ${wrongDirError.message}` + ); + } +); + test.serial('ensures multiple outputs can be built', async (t) => { // In a rollup.config.js we would pass an array // The rollup method that's exported as a library won't do that so we must make two calls From 5afda373fd23da898dfcb82063a58136dfa81659 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 23:42:48 +0000 Subject: [PATCH 15/21] chore(release): typescript v12.0.0 --- packages/typescript/CHANGELOG.md | 8 ++++++++ packages/typescript/package.json | 2 +- .../test/fixtures/incremental-single/tsconfig.tsbuildinfo | 2 +- .../test/fixtures/incremental-watch-off/main.ts | 2 ++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/typescript/CHANGELOG.md b/packages/typescript/CHANGELOG.md index 2e8fae7d4..43a80744d 100644 --- a/packages/typescript/CHANGELOG.md +++ b/packages/typescript/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-typescript ChangeLog +## v12.0.0 + +_2024-09-22_ + +### Breaking Changes + +- fix!: correctly resolve filenames of declaration files for `output.file` (#1728) + ## v11.1.6 _2024-01-09_ diff --git a/packages/typescript/package.json b/packages/typescript/package.json index 7fca1ce58..dd334cc9e 100644 --- a/packages/typescript/package.json +++ b/packages/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-typescript", - "version": "11.1.6", + "version": "12.0.0", "publishConfig": { "access": "public" }, diff --git a/packages/typescript/test/fixtures/incremental-single/tsconfig.tsbuildinfo b/packages/typescript/test/fixtures/incremental-single/tsconfig.tsbuildinfo index 582b24612..ddf4834d4 100644 --- a/packages/typescript/test/fixtures/incremental-single/tsconfig.tsbuildinfo +++ b/packages/typescript/test/fixtures/incremental-single/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es5.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2016.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.dom.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.scripthost.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.esnext.intl.d.ts","./main.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/assert.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/globals.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/async_hooks.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/buffer.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/child_process.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/cluster.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/console.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/constants.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/crypto.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/dgram.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/dns.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/domain.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/events.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/fs.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/fs/promises.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/http.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/http2.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/https.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/inspector.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/module.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/net.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/os.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/path.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/process.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/punycode.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/querystring.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/readline.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/repl.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/stream.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/string_decoder.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/timers.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/tls.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/trace_events.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/tty.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/url.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/util.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/v8.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/vm.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/wasi.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/worker_threads.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/zlib.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/globals.global.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/index.d.ts","../../../../../node_modules/.pnpm/@types+resolve@1.20.2/node_modules/@types/resolve/index.d.ts","../../../../../node_modules/.pnpm/@babel+types@7.19.4/node_modules/@babel/types/lib/index.d.ts","../../../../../node_modules/.pnpm/@types+babel__generator@7.6.4/node_modules/@types/babel__generator/index.d.ts","../../../../../node_modules/.pnpm/@babel+parser@7.19.4/node_modules/@babel/parser/typings/babel-parser.d.ts","../../../../../node_modules/.pnpm/@types+babel__template@7.4.1/node_modules/@types/babel__template/index.d.ts","../../../../../node_modules/.pnpm/@types+babel__traverse@7.18.2/node_modules/@types/babel__traverse/index.d.ts","../../../../../node_modules/.pnpm/@types+babel__core@7.1.19/node_modules/@types/babel__core/index.d.ts","../../../../../node_modules/.pnpm/magic-string@0.25.9/node_modules/magic-string/index.d.ts","../../../../../node_modules/.pnpm/@types+buble@0.19.2/node_modules/@types/buble/index.d.ts","../../../../../node_modules/.pnpm/@types+keyv@3.1.4/node_modules/@types/keyv/index.d.ts","../../../../../node_modules/.pnpm/@types+http-cache-semantics@4.0.1/node_modules/@types/http-cache-semantics/index.d.ts","../../../../../node_modules/.pnpm/@types+responselike@1.0.0/node_modules/@types/responselike/index.d.ts","../../../../../node_modules/.pnpm/@types+cacheable-request@6.0.2/node_modules/@types/cacheable-request/index.d.ts","../../../../../node_modules/.pnpm/@types+conventional-commits-parser@3.0.2/node_modules/@types/conventional-commits-parser/index.d.ts","../../../../../node_modules/.pnpm/@types+d3-dsv@3.0.0/node_modules/@types/d3-dsv/index.d.ts","../../../../../node_modules/.pnpm/@types+eslint@8.4.6/node_modules/@types/eslint/helpers.d.ts","../../../../../node_modules/.pnpm/@types+estree@1.0.0/node_modules/@types/estree/index.d.ts","../../../../../node_modules/.pnpm/@types+json-schema@7.0.11/node_modules/@types/json-schema/index.d.ts","../../../../../node_modules/.pnpm/@types+eslint@8.4.6/node_modules/@types/eslint/index.d.ts","../../../../../node_modules/.pnpm/@types+json5@0.0.29/node_modules/@types/json5/index.d.ts","../../../../../node_modules/.pnpm/@types+minimist@1.2.2/node_modules/@types/minimist/index.d.ts","../../../../../node_modules/.pnpm/@types+normalize-package-data@2.4.1/node_modules/@types/normalize-package-data/index.d.ts","../../../../../node_modules/.pnpm/@types+parse-json@4.0.0/node_modules/@types/parse-json/index.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/constants.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/parse.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/scan.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/picomatch.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/index.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/classes/semver.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/parse.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/valid.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/clean.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/inc.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/diff.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/major.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/minor.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/patch.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/prerelease.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/compare.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/rcompare.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/compare-loose.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/compare-build.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/sort.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/rsort.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/gt.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/lt.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/eq.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/neq.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/gte.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/lte.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/cmp.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/coerce.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/classes/comparator.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/classes/range.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/satisfies.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/to-comparators.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/min-version.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/valid.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/outside.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/gtr.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/ltr.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/intersects.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/simplify.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/subset.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/internals/identifiers.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/index.d.ts","../../../../../node_modules/.pnpm/@types+serialize-javascript@5.0.2/node_modules/@types/serialize-javascript/index.d.ts","../../../../../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/source-map.d.ts","../../../../../node_modules/.pnpm/@types+source-map-support@0.5.6/node_modules/@types/source-map-support/index.d.ts","../../../../../node_modules/.pnpm/@types+yargs-parser@20.2.2/node_modules/@types/yargs-parser/index.d.ts"],"fileInfos":["2dc8c927c9c162a773c6bb3cdc4f3286c23f10eedc67414028f9cb5951610f60",{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"dc13372d005136feb44d8fa670d0a80d674b3964fe29dc30e693c9836c997006","affectsGlobalScope":true},"4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"32ddf2b046fa7269050f64a87f1f3d2db10b92ad6302460681915af1207b1222","affectsGlobalScope":true},"c2b5085f47e41d6940bbc5b0d3bd7cc0037c752efb18aecd243c9cf83ad0c0b7","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","9b2a8f604e7c0482a9061755f00b287cc99bd8718dc82d8207dd74c599b6dc43","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","db86f82fac051ae344b47e8fe7ac7990174b41db79b2b220a49dc5a47c71a9b5","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"ae064ed4f855716b7ff348639ddcd6a6d354a72fae82f506608a7dc9266aa24c","92f019c55b21c939616f6a48f678e714ac7b109444cbbf23ad69310ce66ecbdc","0eb4ba769e8881dc8cf1fb77c059eb9e3ed8a4ebe70a19a0f2055b68fda68c60","56e6722c6013609b3e5e6ed4a8a7e01f41da6c5e3d6f0ecff3d09ef7a81414cf","3924e8b900c717cb4ddf663d996e0bc0918f01b2c2e8dccaa94e59a8ae6912ec","f614c3f61e46ccc2cb58702d5a158338ea57ee09099fde5db4cfc63ed0ce4d74","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","d79fda68cbfb361c4ee9cd9ea169babb65887534d64017726cd01f54783d20a5","155865f5f76db0996cd5e20cc5760613ea170ee5ad594c1f3d76fcaa05382161","e92852d673c836fc64e10c38640abcd67c463456e5df55723ac699b8e6ab3a8a","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","c3689f70ce7563c2299f2dcb3c72efdf6f87ae510e7456fa6223c767d0ca99fc","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","6c903bceaf3f3bc04f2d4c7dcd89ce9fb148b3ba0a5f5408d8f6de2b7eecc7ea","504d049d9e550a65466b73ca39da6469ab41786074ea1d16d37c8853f9f6ab2e","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"eabefc2999c1489cf870e0c85af908900462fa245822d9a4616780a1a129945d","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"01c93adfc4c6555c559e7334b6b5f45b48c9e1f809144822088e45ba13e36d9f","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","760cb9b76ab53a2f704ee0e731e162bcfc6af609f5e400a668efe2cc7923e4f4","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","dd6a4b050f1016c0318291b42c98ab068e07e208b1ae8e4e27167c2b8007406f","bf6148950ca5307411c2ae98561f3b845c8cd31c330e731a6822bf52ff757bf6","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","2733d9c68999f6fb4a8e853f4266b40b1e91ef7ae97a35d82014a732f9f3584b","f5d81560bfe80aa653ec60c6a72e68e5ffd60b5e894aef7a46dec316c2a7b9e7",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"946bd1737d9412395a8f24414c70f18660b84a75a12b0b448e6eb1a2161d06dd","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","c84d0f714fe122193c21c0f0917e873beb3a03fa3422ceb2fbd1ebc0558790a0","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","3e4001643b64a3a4722718c5a778ae73f3dd43487e39508ce2f9dd7cfb1d40b7","b90c23a457c16f77a282531a5caba5c911d2252eb097f3193a8ee2df6a3f21a2","8f9aa0f1f409380d4dbd5c9f5f2e4af828e123095891dd0efc5bb999f8d1a301","bdab62a006260d5fd3c623f0b635140bf48d7a8f87f0eeca5fb188b5ac66770f","c0dd6b46374a90bbb701cc4888a9d6b698a479a2acce11969c5583ba6127f5d5","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","b9afcdd9563bae8409d0ce97db6f60c1f8455dfab79fc8dc89d7b793ba8479a2","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","ce99fd4b37ce2dbf9adfc06c1722271c926adb408b1f6413763ae9253d922823","d5c21c0fd9ecf84a785a6bd290931d7672132778cd6ef6e827ab7dc2c4426ac5"],"options":{"emitDeclarationOnly":false,"importHelpers":true,"inlineSources":true,"module":99,"noEmitHelpers":true,"skipLibCheck":true,"sourceMap":true},"fileIdsList":[[79],[79,80,81,82,83],[79,81],[85],[46,49,69,77,87,88,89],[63,77],[93,94,95],[46,77],[34],[36],[37,42],[38,46,47,54,63],[38,39,46,54],[40,70],[41,42,47,55],[42,63],[43,44,46,54],[44],[45,46],[46],[46,47,48,63,69],[47,48],[49,54,63,69],[46,47,49,50,54,63,66,69],[49,51,63,66,69],[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],[46,52],[53,69],[44,46,54,63],[55],[56],[36,57],[58,68],[59],[60],[46,61],[61,62,70,72],[46,63],[64],[65],[54,63,66],[67],[54,68],[60,69],[70],[63,71],[72],[73],[46,48,63,69,72,74],[63,75],[104],[101,102,103],[49,63,77],[106,145],[106,130,145],[145],[106],[106,131,145],[106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144],[131,145],[147]],"referencedMap":[[81,1],[84,2],[80,1],[82,3],[83,1],[86,4],[90,5],[91,6],[96,7],[87,8],[34,9],[36,10],[37,11],[38,12],[39,13],[40,14],[41,15],[42,16],[43,17],[44,18],[45,19],[46,20],[47,21],[48,22],[49,23],[50,24],[51,25],[77,26],[52,27],[53,28],[54,29],[55,30],[56,31],[57,32],[58,33],[59,34],[60,35],[61,36],[62,37],[63,38],[64,39],[65,40],[66,41],[67,42],[68,43],[69,44],[70,45],[71,46],[72,47],[73,48],[74,49],[75,50],[105,51],[104,52],[89,53],[130,54],[131,55],[106,56],[109,56],[128,54],[129,54],[119,54],[118,57],[116,54],[111,54],[124,54],[122,54],[126,54],[110,54],[123,54],[127,54],[112,54],[113,54],[125,54],[107,54],[114,54],[115,54],[117,54],[121,54],[132,58],[120,54],[108,54],[145,59],[139,58],[141,60],[140,58],[133,58],[134,58],[136,58],[138,58],[142,60],[143,60],[135,60],[137,60],[148,61]],"exportedModulesMap":[[81,1],[84,2],[80,1],[82,3],[83,1],[86,4],[90,5],[91,6],[96,7],[87,8],[34,9],[36,10],[37,11],[38,12],[39,13],[40,14],[41,15],[42,16],[43,17],[44,18],[45,19],[46,20],[47,21],[48,22],[49,23],[50,24],[51,25],[77,26],[52,27],[53,28],[54,29],[55,30],[56,31],[57,32],[58,33],[59,34],[60,35],[61,36],[62,37],[63,38],[64,39],[65,40],[66,41],[67,42],[68,43],[69,44],[70,45],[71,46],[72,47],[73,48],[74,49],[75,50],[105,51],[104,52],[89,53],[130,54],[131,55],[106,56],[109,56],[128,54],[129,54],[119,54],[118,57],[116,54],[111,54],[124,54],[122,54],[126,54],[110,54],[123,54],[127,54],[112,54],[113,54],[125,54],[107,54],[114,54],[115,54],[117,54],[121,54],[132,58],[120,54],[108,54],[145,59],[139,58],[141,60],[140,58],[133,58],[134,58],[136,58],[138,58],[142,60],[143,60],[135,60],[137,60],[148,61]],"semanticDiagnosticsPerFile":[81,79,84,80,82,83,86,90,91,92,93,96,94,88,95,97,87,98,34,36,37,38,39,40,41,42,43,44,45,46,47,48,35,76,49,50,51,77,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,99,100,105,101,102,104,103,78,89,130,131,106,109,128,129,119,118,116,111,124,122,126,110,123,127,112,113,125,107,114,115,117,121,132,120,108,145,144,139,141,140,133,134,136,138,142,143,135,137,146,148,149,85,147,1,7,11,10,3,12,13,14,15,16,17,18,19,4,5,23,20,21,22,24,25,26,6,27,28,29,30,31,2,32,9,8,33]},"version":"4.8.4"} \ No newline at end of file +{"program":{"fileNames":["../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es5.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2016.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.dom.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.scripthost.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/lib.esnext.intl.d.ts","./main.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/assert.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/globals.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/async_hooks.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/buffer.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/child_process.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/cluster.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/console.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/constants.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/crypto.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/dgram.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/dns.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/domain.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/events.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/fs.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/fs/promises.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/http.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/http2.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/https.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/inspector.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/module.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/net.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/os.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/path.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/process.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/punycode.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/querystring.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/readline.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/repl.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/stream.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/string_decoder.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/timers.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/tls.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/trace_events.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/tty.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/url.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/util.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/v8.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/vm.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/wasi.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/worker_threads.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/zlib.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/globals.global.d.ts","../../../../../node_modules/.pnpm/@types+node@14.18.31/node_modules/@types/node/ts4.8/index.d.ts","../../../../../node_modules/.pnpm/@types+resolve@1.20.2/node_modules/@types/resolve/index.d.ts","../../../../../node_modules/.pnpm/@babel+types@7.19.4/node_modules/@babel/types/lib/index.d.ts","../../../../../node_modules/.pnpm/@types+babel__generator@7.6.4/node_modules/@types/babel__generator/index.d.ts","../../../../../node_modules/.pnpm/@babel+parser@7.19.4/node_modules/@babel/parser/typings/babel-parser.d.ts","../../../../../node_modules/.pnpm/@types+babel__template@7.4.1/node_modules/@types/babel__template/index.d.ts","../../../../../node_modules/.pnpm/@types+babel__traverse@7.18.2/node_modules/@types/babel__traverse/index.d.ts","../../../../../node_modules/.pnpm/@types+babel__core@7.1.19/node_modules/@types/babel__core/index.d.ts","../../../../../node_modules/.pnpm/magic-string@0.25.9/node_modules/magic-string/index.d.ts","../../../../../node_modules/.pnpm/@types+buble@0.19.2/node_modules/@types/buble/index.d.ts","../../../../../node_modules/.pnpm/@types+keyv@3.1.4/node_modules/@types/keyv/index.d.ts","../../../../../node_modules/.pnpm/@types+http-cache-semantics@4.0.1/node_modules/@types/http-cache-semantics/index.d.ts","../../../../../node_modules/.pnpm/@types+responselike@1.0.0/node_modules/@types/responselike/index.d.ts","../../../../../node_modules/.pnpm/@types+cacheable-request@6.0.2/node_modules/@types/cacheable-request/index.d.ts","../../../../../node_modules/.pnpm/@types+d3-dsv@3.0.0/node_modules/@types/d3-dsv/index.d.ts","../../../../../node_modules/.pnpm/@types+eslint@8.4.6/node_modules/@types/eslint/helpers.d.ts","../../../../../node_modules/.pnpm/@types+estree@1.0.0/node_modules/@types/estree/index.d.ts","../../../../../node_modules/.pnpm/@types+json-schema@7.0.11/node_modules/@types/json-schema/index.d.ts","../../../../../node_modules/.pnpm/@types+eslint@8.4.6/node_modules/@types/eslint/index.d.ts","../../../../../node_modules/.pnpm/@types+json5@0.0.29/node_modules/@types/json5/index.d.ts","../../../../../node_modules/.pnpm/@types+minimist@1.2.2/node_modules/@types/minimist/index.d.ts","../../../../../node_modules/.pnpm/@types+normalize-package-data@2.4.1/node_modules/@types/normalize-package-data/index.d.ts","../../../../../node_modules/.pnpm/@types+parse-json@4.0.0/node_modules/@types/parse-json/index.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/constants.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/parse.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/scan.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/lib/picomatch.d.ts","../../../../../node_modules/.pnpm/@types+picomatch@2.3.0/node_modules/@types/picomatch/index.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/classes/semver.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/parse.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/valid.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/clean.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/inc.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/diff.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/major.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/minor.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/patch.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/prerelease.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/compare.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/rcompare.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/compare-loose.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/compare-build.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/sort.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/rsort.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/gt.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/lt.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/eq.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/neq.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/gte.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/lte.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/cmp.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/coerce.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/classes/comparator.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/classes/range.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/functions/satisfies.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/to-comparators.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/min-version.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/valid.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/outside.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/gtr.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/ltr.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/intersects.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/simplify.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/ranges/subset.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/internals/identifiers.d.ts","../../../../../node_modules/.pnpm/@types+semver@7.3.12/node_modules/@types/semver/index.d.ts","../../../../../node_modules/.pnpm/@types+serialize-javascript@5.0.2/node_modules/@types/serialize-javascript/index.d.ts","../../../../../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/source-map.d.ts","../../../../../node_modules/.pnpm/@types+source-map-support@0.5.6/node_modules/@types/source-map-support/index.d.ts"],"fileInfos":["2dc8c927c9c162a773c6bb3cdc4f3286c23f10eedc67414028f9cb5951610f60",{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"dc13372d005136feb44d8fa670d0a80d674b3964fe29dc30e693c9836c997006","affectsGlobalScope":true},"4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"32ddf2b046fa7269050f64a87f1f3d2db10b92ad6302460681915af1207b1222","affectsGlobalScope":true},"c2b5085f47e41d6940bbc5b0d3bd7cc0037c752efb18aecd243c9cf83ad0c0b7","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","9b2a8f604e7c0482a9061755f00b287cc99bd8718dc82d8207dd74c599b6dc43","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","db86f82fac051ae344b47e8fe7ac7990174b41db79b2b220a49dc5a47c71a9b5","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"ae064ed4f855716b7ff348639ddcd6a6d354a72fae82f506608a7dc9266aa24c","92f019c55b21c939616f6a48f678e714ac7b109444cbbf23ad69310ce66ecbdc","0eb4ba769e8881dc8cf1fb77c059eb9e3ed8a4ebe70a19a0f2055b68fda68c60","56e6722c6013609b3e5e6ed4a8a7e01f41da6c5e3d6f0ecff3d09ef7a81414cf","3924e8b900c717cb4ddf663d996e0bc0918f01b2c2e8dccaa94e59a8ae6912ec","f614c3f61e46ccc2cb58702d5a158338ea57ee09099fde5db4cfc63ed0ce4d74","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","d79fda68cbfb361c4ee9cd9ea169babb65887534d64017726cd01f54783d20a5","155865f5f76db0996cd5e20cc5760613ea170ee5ad594c1f3d76fcaa05382161","e92852d673c836fc64e10c38640abcd67c463456e5df55723ac699b8e6ab3a8a","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","c3689f70ce7563c2299f2dcb3c72efdf6f87ae510e7456fa6223c767d0ca99fc","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","6c903bceaf3f3bc04f2d4c7dcd89ce9fb148b3ba0a5f5408d8f6de2b7eecc7ea","504d049d9e550a65466b73ca39da6469ab41786074ea1d16d37c8853f9f6ab2e","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"eabefc2999c1489cf870e0c85af908900462fa245822d9a4616780a1a129945d","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"01c93adfc4c6555c559e7334b6b5f45b48c9e1f809144822088e45ba13e36d9f","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","760cb9b76ab53a2f704ee0e731e162bcfc6af609f5e400a668efe2cc7923e4f4","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","dd6a4b050f1016c0318291b42c98ab068e07e208b1ae8e4e27167c2b8007406f","bf6148950ca5307411c2ae98561f3b845c8cd31c330e731a6822bf52ff757bf6","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","f5d81560bfe80aa653ec60c6a72e68e5ffd60b5e894aef7a46dec316c2a7b9e7",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"946bd1737d9412395a8f24414c70f18660b84a75a12b0b448e6eb1a2161d06dd","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","c84d0f714fe122193c21c0f0917e873beb3a03fa3422ceb2fbd1ebc0558790a0","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","3e4001643b64a3a4722718c5a778ae73f3dd43487e39508ce2f9dd7cfb1d40b7","b90c23a457c16f77a282531a5caba5c911d2252eb097f3193a8ee2df6a3f21a2","8f9aa0f1f409380d4dbd5c9f5f2e4af828e123095891dd0efc5bb999f8d1a301","bdab62a006260d5fd3c623f0b635140bf48d7a8f87f0eeca5fb188b5ac66770f","c0dd6b46374a90bbb701cc4888a9d6b698a479a2acce11969c5583ba6127f5d5","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","6eef5113135a0f2bbac8259909a5bbb7666bcde022c28f4ab95145623cbe1f72","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","b9afcdd9563bae8409d0ce97db6f60c1f8455dfab79fc8dc89d7b793ba8479a2","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","ce99fd4b37ce2dbf9adfc06c1722271c926adb408b1f6413763ae9253d922823"],"options":{"emitDeclarationOnly":false,"importHelpers":true,"inlineSources":true,"module":99,"noEmitHelpers":true,"skipLibCheck":true,"sourceMap":true},"fileIdsList":[[79],[79,80,81,82,83],[79,81],[85],[46,49,69,77,87,88,89],[92,93,94],[46,77],[34],[36],[37,42],[38,46,47,54,63],[38,39,46,54],[40,70],[41,42,47,55],[42,63],[43,44,46,54],[44],[45,46],[46],[46,47,48,63,69],[47,48],[49,54,63,69],[46,47,49,50,54,63,66,69],[49,51,63,66,69],[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76],[46,52],[53,69],[44,46,54,63],[55],[56],[36,57],[58,68],[59],[60],[46,61],[61,62,70,72],[46,63],[64],[65],[54,63,66],[67],[54,68],[60,69],[70],[63,71],[72],[73],[46,48,63,69,72,74],[63,75],[103],[100,101,102],[49,63,77],[105,144],[105,129,144],[144],[105],[105,130,144],[105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143],[130,144],[146]],"referencedMap":[[81,1],[84,2],[80,1],[82,3],[83,1],[86,4],[90,5],[95,6],[87,7],[34,8],[36,9],[37,10],[38,11],[39,12],[40,13],[41,14],[42,15],[43,16],[44,17],[45,18],[46,19],[47,20],[48,21],[49,22],[50,23],[51,24],[77,25],[52,26],[53,27],[54,28],[55,29],[56,30],[57,31],[58,32],[59,33],[60,34],[61,35],[62,36],[63,37],[64,38],[65,39],[66,40],[67,41],[68,42],[69,43],[70,44],[71,45],[72,46],[73,47],[74,48],[75,49],[104,50],[103,51],[89,52],[129,53],[130,54],[105,55],[108,55],[127,53],[128,53],[118,53],[117,56],[115,53],[110,53],[123,53],[121,53],[125,53],[109,53],[122,53],[126,53],[111,53],[112,53],[124,53],[106,53],[113,53],[114,53],[116,53],[120,53],[131,57],[119,53],[107,53],[144,58],[138,57],[140,59],[139,57],[132,57],[133,57],[135,57],[137,57],[141,59],[142,59],[134,59],[136,59],[147,60]],"exportedModulesMap":[[81,1],[84,2],[80,1],[82,3],[83,1],[86,4],[90,5],[95,6],[87,7],[34,8],[36,9],[37,10],[38,11],[39,12],[40,13],[41,14],[42,15],[43,16],[44,17],[45,18],[46,19],[47,20],[48,21],[49,22],[50,23],[51,24],[77,25],[52,26],[53,27],[54,28],[55,29],[56,30],[57,31],[58,32],[59,33],[60,34],[61,35],[62,36],[63,37],[64,38],[65,39],[66,40],[67,41],[68,42],[69,43],[70,44],[71,45],[72,46],[73,47],[74,48],[75,49],[104,50],[103,51],[89,52],[129,53],[130,54],[105,55],[108,55],[127,53],[128,53],[118,53],[117,56],[115,53],[110,53],[123,53],[121,53],[125,53],[109,53],[122,53],[126,53],[111,53],[112,53],[124,53],[106,53],[113,53],[114,53],[116,53],[120,53],[131,57],[119,53],[107,53],[144,58],[138,57],[140,59],[139,57],[132,57],[133,57],[135,57],[137,57],[141,59],[142,59],[134,59],[136,59],[147,60]],"semanticDiagnosticsPerFile":[81,79,84,80,82,83,86,90,91,92,95,93,88,94,96,87,97,34,36,37,38,39,40,41,42,43,44,45,46,47,48,35,76,49,50,51,77,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,98,99,104,100,101,103,102,78,89,129,130,105,108,127,128,118,117,115,110,123,121,125,109,122,126,111,112,124,106,113,114,116,120,131,119,107,144,143,138,140,139,132,133,135,137,141,142,134,136,145,147,85,146,1,7,11,10,3,12,13,14,15,16,17,18,19,4,5,23,20,21,22,24,25,26,6,27,28,29,30,31,2,32,9,8,33]},"version":"4.8.4"} \ No newline at end of file diff --git a/packages/typescript/test/fixtures/incremental-watch-off/main.ts b/packages/typescript/test/fixtures/incremental-watch-off/main.ts index 9ccd4a12d..030ec54f0 100644 --- a/packages/typescript/test/fixtures/incremental-watch-off/main.ts +++ b/packages/typescript/test/fixtures/incremental-watch-off/main.ts @@ -4,3 +4,5 @@ const answer: AnswerToQuestion = '42'; // eslint-disable-next-line no-console console.log(`the answer is ${answer}`); + +export const REBUILD_WITH_WATCH_OFF = 1; \ No newline at end of file From 2c09b57a32f717e23e2d2c9bacf1be5c556325e5 Mon Sep 17 00:00:00 2001 From: Marcel Mundl <3000678+Haringat@users.noreply.github.com> Date: Mon, 23 Sep 2024 01:45:13 +0200 Subject: [PATCH 16/21] feat(typescript): add transformers factory. (#1668) feat(typescript): add transformers factory --- packages/typescript/README.md | 44 +++++++- packages/typescript/src/moduleResolution.ts | 4 +- packages/typescript/src/options/tsconfig.ts | 7 +- packages/typescript/src/watchProgram.ts | 32 ++++-- packages/typescript/test/test.js | 113 ++++++++++++++++++++ packages/typescript/types/index.d.ts | 2 +- 6 files changed, 188 insertions(+), 14 deletions(-) diff --git a/packages/typescript/README.md b/packages/typescript/README.md index 8350f9aa8..340f5cd3b 100644 --- a/packages/typescript/README.md +++ b/packages/typescript/README.md @@ -125,7 +125,7 @@ typescript({ ### `transformers` -Type: `{ [before | after | afterDeclarations]: TransformerFactory[] }`
+Type: `{ [before | after | afterDeclarations]: TransformerFactory[] } | ((program: ts.Program) => ts.CustomTransformers)`
Default: `undefined` Allows registration of TypeScript custom transformers at any of the supported stages: @@ -199,6 +199,48 @@ typescript({ }); ``` +Alternatively, the transformers can be created inside a factory. + +Supported transformer factories: + +- all **built-in** TypeScript custom transformer factories: + + - `import('typescript').TransformerFactory` annotated **TransformerFactory** bellow + - `import('typescript').CustomTransformerFactory` annotated **CustomTransformerFactory** bellow + +The example above could be written like this: + +```js +typescript({ + transformers: function (program) { + return { + before: [ + ProgramRequiringTransformerFactory(program), + TypeCheckerRequiringTransformerFactory(program.getTypeChecker()) + ], + after: [ + // You can use normal transformers directly + require('custom-transformer-based-on-Context') + ], + afterDeclarations: [ + // Or even define in place + function fixDeclarationFactory(context) { + return function fixDeclaration(source) { + function visitor(node) { + // Do real work here + + return ts.visitEachChild(node, visitor, context); + } + + return ts.visitEachChild(source, visitor, context); + }; + } + ] + }; + } +}); +``` + ### `cacheDir` Type: `String`
diff --git a/packages/typescript/src/moduleResolution.ts b/packages/typescript/src/moduleResolution.ts index 97aa01e79..779e0304a 100644 --- a/packages/typescript/src/moduleResolution.ts +++ b/packages/typescript/src/moduleResolution.ts @@ -20,7 +20,9 @@ export type Resolver = ( /** * Create a helper for resolving modules using Typescript. - * @param host Typescript host that extends `ModuleResolutionHost` + * @param ts custom typescript implementation + * @param host Typescript host that extends {@link ModuleResolutionHost} + * @param filter * with methods for sanitizing filenames and getting compiler options. */ export default function createModuleResolver( diff --git a/packages/typescript/src/options/tsconfig.ts b/packages/typescript/src/options/tsconfig.ts index 74d04ee9c..4ebc12675 100644 --- a/packages/typescript/src/options/tsconfig.ts +++ b/packages/typescript/src/options/tsconfig.ts @@ -45,6 +45,7 @@ function makeForcedCompilerOptions(noForceEmit: boolean) { /** * Finds the path to the tsconfig file relative to the current working directory. + * @param ts Custom typescript implementation * @param relativePath Relative tsconfig path given by the user. * If `false` is passed, then a null path is returned. * @returns The absolute path, or null if the file does not exist. @@ -69,9 +70,8 @@ function getTsConfigPath(ts: typeof typescript, relativePath?: string | false) { /** * Tries to read the tsconfig file at `tsConfigPath`. + * @param ts Custom typescript implementation * @param tsConfigPath Absolute path to tsconfig JSON file. - * @param explicitPath If true, the path was set by the plugin user. - * If false, the path was computed automatically. */ function readTsConfigFile(ts: typeof typescript, tsConfigPath: string) { const { config, error } = ts.readConfigFile(tsConfigPath, (path) => readFileSync(path, 'utf8')); @@ -122,13 +122,14 @@ function setModuleResolutionKind(parsedConfig: ParsedCommandLine): ParsedCommand }; } -const configCache = new Map() as typescript.Map; +const configCache = new Map() as typescript.ESMap; /** * Parse the Typescript config to use with the plugin. * @param ts Typescript library instance. * @param tsconfig Path to the tsconfig file, or `false` to ignore the file. * @param compilerOptions Options passed to the plugin directly for Typescript. + * @param noForceEmit Whether to respect emit options from {@link tsconfig} * * @returns Parsed tsconfig.json file with some important properties: * - `options`: Parsed compiler options. diff --git a/packages/typescript/src/watchProgram.ts b/packages/typescript/src/watchProgram.ts index 07bf25d18..9ad50f647 100644 --- a/packages/typescript/src/watchProgram.ts +++ b/packages/typescript/src/watchProgram.ts @@ -1,9 +1,11 @@ import type { PluginContext } from 'rollup'; import typescript from 'typescript'; import type { + CustomTransformers, Diagnostic, EmitAndSemanticDiagnosticsBuilderProgram, ParsedCommandLine, + Program, WatchCompilerHostOfFilesAndCompilerOptions, WatchStatusReporter, WriteFileCallback @@ -39,7 +41,7 @@ interface CreateProgramOptions { /** Function to resolve a module location */ resolveModule: Resolver; /** Custom TypeScript transformers */ - transformers?: CustomTransformerFactories; + transformers?: CustomTransformerFactories | ((program: Program) => CustomTransformers); } type DeferredResolve = ((value: boolean | PromiseLike) => void) | (() => void); @@ -155,22 +157,36 @@ function createWatchHost( parsedOptions.projectReferences ); + let createdTransformers: CustomTransformers | undefined; return { ...baseHost, /** Override the created program so an in-memory emit is used */ afterProgramCreate(program) { const origEmit = program.emit; // eslint-disable-next-line no-param-reassign - program.emit = (targetSourceFile, _, ...args) => - origEmit( + program.emit = ( + targetSourceFile, + _, + cancellationToken, + emitOnlyDtsFiles, + customTransformers + ) => { + createdTransformers ??= + typeof transformers === 'function' + ? transformers(program.getProgram()) + : mergeTransformers( + program, + transformers, + customTransformers as CustomTransformerFactories + ); + return origEmit( targetSourceFile, writeFile, - // cancellationToken - args[0], - // emitOnlyDtsFiles - args[1], - mergeTransformers(program, transformers, args[2] as CustomTransformerFactories) + cancellationToken, + emitOnlyDtsFiles, + createdTransformers ); + }; return baseHost.afterProgramCreate!(program); }, diff --git a/packages/typescript/test/test.js b/packages/typescript/test/test.js index d5ac91086..efed9b397 100644 --- a/packages/typescript/test/test.js +++ b/packages/typescript/test/test.js @@ -1264,6 +1264,119 @@ test('supports custom transformers', async (t) => { ); }); +test('supports passing a custom transformers factory', async (t) => { + const warnings = []; + + let program = null; + let typeChecker = null; + + const bundle = await rollup({ + input: 'fixtures/transformers/main.ts', + plugins: [ + typescript({ + tsconfig: 'fixtures/transformers/tsconfig.json', + outDir: 'fixtures/transformers/dist', + declaration: true, + transformers: (p) => { + program = p; + typeChecker = p.getTypeChecker(); + return { + before: [ + function removeOneParameterFactory(context) { + return function removeOneParameter(source) { + function visitor(node) { + if (ts.isArrowFunction(node)) { + return ts.factory.createArrowFunction( + node.modifiers, + node.typeParameters, + [node.parameters[0]], + node.type, + node.equalsGreaterThanToken, + node.body + ); + } + + return ts.visitEachChild(node, visitor, context); + } + + return ts.visitEachChild(source, visitor, context); + }; + } + ], + after: [ + // Enforce a constant numeric output + function enforceConstantReturnFactory(context) { + return function enforceConstantReturn(source) { + function visitor(node) { + if (ts.isReturnStatement(node)) { + return ts.factory.createReturnStatement(ts.factory.createNumericLiteral('1')); + } + + return ts.visitEachChild(node, visitor, context); + } + + return ts.visitEachChild(source, visitor, context); + }; + } + ], + afterDeclarations: [ + // Change the return type to numeric + function fixDeclarationFactory(context) { + return function fixDeclaration(source) { + function visitor(node) { + if (ts.isFunctionTypeNode(node)) { + return ts.factory.createFunctionTypeNode( + node.typeParameters, + [node.parameters[0]], + ts.factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword) + ); + } + + return ts.visitEachChild(node, visitor, context); + } + + return ts.visitEachChild(source, visitor, context); + }; + } + ] + }; + } + }) + ], + onwarn(warning) { + warnings.push(warning); + } + }); + + const output = await getCode(bundle, { format: 'esm', dir: 'fixtures/transformers' }, true); + + t.is(warnings.length, 0); + t.deepEqual( + output.map((out) => out.fileName), + ['main.js', 'dist/main.d.ts'] + ); + + // Expect the function to have one less arguments from before transformer and return 1 from after transformer + t.true(output[0].code.includes('var HashFn = function (val) { return 1; };'), output[0].code); + + // Expect the definition file to reflect the resulting function type after transformer modifications + t.true( + output[1].source.includes('export declare const HashFn: (val: string) => number;'), + output[1].source + ); + + // Expect a Program to have been forwarded for transformers with custom factories requesting one + t.deepEqual(program && program.emit && typeof program.emit === 'function', true); + + // Expect a TypeChecker to have been forwarded for transformers with custom factories requesting one + t.deepEqual( + typeChecker && + typeChecker.getTypeAtLocation && + typeof typeChecker.getTypeAtLocation === 'function', + true + ); +}); + // This test randomly fails with a segfault directly at the first "await waitForWatcherEvent" before any event occurred. // Skipping it until we can figure out what the cause is. test.serial.skip('picks up on newly included typescript files in watch mode', async (t) => { diff --git a/packages/typescript/types/index.d.ts b/packages/typescript/types/index.d.ts index 6d4a30f00..4db1c5d06 100644 --- a/packages/typescript/types/index.d.ts +++ b/packages/typescript/types/index.d.ts @@ -75,7 +75,7 @@ export interface RollupTypescriptPluginOptions { /** * TypeScript custom transformers */ - transformers?: CustomTransformerFactories; + transformers?: CustomTransformerFactories | ((program: Program) => CustomTransformers); /** * When set to false, force non-cached files to always be emitted in the output directory.output * If not set, will default to true with a warning. From 28b970103133709966efea0aec24baa63f85355f Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Sun, 22 Sep 2024 23:47:27 +0000 Subject: [PATCH 17/21] chore(release): typescript v12.1.0 --- packages/typescript/CHANGELOG.md | 8 ++++++++ packages/typescript/package.json | 2 +- .../test/fixtures/incremental-watch-off/main.ts | 2 -- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/typescript/CHANGELOG.md b/packages/typescript/CHANGELOG.md index 43a80744d..e37cd8d34 100644 --- a/packages/typescript/CHANGELOG.md +++ b/packages/typescript/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-typescript ChangeLog +## v12.1.0 + +_2024-09-22_ + +### Features + +- feat: add transformers factory. (#1668) + ## v12.0.0 _2024-09-22_ diff --git a/packages/typescript/package.json b/packages/typescript/package.json index dd334cc9e..3504f38e3 100644 --- a/packages/typescript/package.json +++ b/packages/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-typescript", - "version": "12.0.0", + "version": "12.1.0", "publishConfig": { "access": "public" }, diff --git a/packages/typescript/test/fixtures/incremental-watch-off/main.ts b/packages/typescript/test/fixtures/incremental-watch-off/main.ts index 030ec54f0..9ccd4a12d 100644 --- a/packages/typescript/test/fixtures/incremental-watch-off/main.ts +++ b/packages/typescript/test/fixtures/incremental-watch-off/main.ts @@ -4,5 +4,3 @@ const answer: AnswerToQuestion = '42'; // eslint-disable-next-line no-console console.log(`the answer is ${answer}`); - -export const REBUILD_WITH_WATCH_OFF = 1; \ No newline at end of file From 2fdd077665550db744c0512e8c48784c3a43da43 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Mon, 23 Sep 2024 16:04:59 +0100 Subject: [PATCH 18/21] fix(commonjs): replace top-level this with exports name (#1618) --- packages/commonjs/src/transform-commonjs.js | 8 +++++++- .../test/fixtures/function/this/main.js | 5 +++-- .../commonjs/test/snapshots/function.js.md | 9 ++++----- .../commonjs/test/snapshots/function.js.snap | Bin 19774 -> 19834 bytes 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/commonjs/src/transform-commonjs.js b/packages/commonjs/src/transform-commonjs.js index 4601094e9..ba348dedf 100644 --- a/packages/commonjs/src/transform-commonjs.js +++ b/packages/commonjs/src/transform-commonjs.js @@ -102,6 +102,7 @@ export default async function transformCommonjs( const topLevelAssignments = new Set(); const topLevelDefineCompiledEsmExpressions = []; const replacedGlobal = []; + const replacedThis = []; const replacedDynamicRequires = []; const importedVariables = new Set(); const indentExclusionRanges = []; @@ -369,7 +370,7 @@ export default async function transformCommonjs( if (lexicalDepth === 0 && !classBodyDepth) { uses.global = true; if (!ignoreGlobal) { - replacedGlobal.push(node); + replacedThis.push(node); } } return; @@ -444,6 +445,11 @@ export default async function transformCommonjs( storeName: true }); } + for (const node of replacedThis) { + magicString.overwrite(node.start, node.end, exportsName, { + storeName: true + }); + } for (const node of replacedDynamicRequires) { magicString.overwrite( node.start, diff --git a/packages/commonjs/test/fixtures/function/this/main.js b/packages/commonjs/test/fixtures/function/this/main.js index d0c275253..c0be15432 100644 --- a/packages/commonjs/test/fixtures/function/this/main.js +++ b/packages/commonjs/test/fixtures/function/this/main.js @@ -1,10 +1,11 @@ -const { augmentThis, classThis } = require('./foo'); +const { augmentThis, classThis, y } = require('./foo'); const obj = {}; augmentThis.call(obj); t.is(obj.x, 'x'); -t.is(this.y, 'y'); +t.is(this.y, undefined); +t.is(y, 'y'); const instance = new classThis(); diff --git a/packages/commonjs/test/snapshots/function.js.md b/packages/commonjs/test/snapshots/function.js.md index 2c31aab43..c6e8d6b30 100644 --- a/packages/commonjs/test/snapshots/function.js.md +++ b/packages/commonjs/test/snapshots/function.js.md @@ -7286,8 +7286,6 @@ Generated by [AVA](https://avajs.dev). { 'main.js': `'use strict';␊ ␊ - var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};␊ - ␊ var main = {};␊ ␊ var foo = {};␊ @@ -7296,7 +7294,7 @@ Generated by [AVA](https://avajs.dev). this.x = 'x';␊ };␊ ␊ - commonjsGlobal.y = 'y';␊ + foo.y = 'y';␊ ␊ foo.classThis = class classThis {␊ constructor(){␊ @@ -7310,13 +7308,14 @@ Generated by [AVA](https://avajs.dev). yy = this.y␊ };␊ ␊ - const { augmentThis, classThis } = foo;␊ + const { augmentThis, classThis, y } = foo;␊ ␊ const obj = {};␊ augmentThis.call(obj);␊ ␊ t.is(obj.x, 'x');␊ - t.is(commonjsGlobal.y, 'y');␊ + t.is(main.y, undefined);␊ + t.is(y, 'y');␊ ␊ const instance = new classThis();␊ ␊ diff --git a/packages/commonjs/test/snapshots/function.js.snap b/packages/commonjs/test/snapshots/function.js.snap index 97a1e03b083088c0ddf2e2746c102d83a66c0adb..726565e0db9aa305323d2b4ba4538682160e8bd3 100644 GIT binary patch literal 19834 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 AdjJ3c From 1e73857cbcefe25b8ceaac664b73c9b68ab6f573 Mon Sep 17 00:00:00 2001 From: Release Workflow Date: Mon, 23 Sep 2024 15:06:33 +0000 Subject: [PATCH 19/21] chore(release): commonjs v26.0.2 --- packages/commonjs/CHANGELOG.md | 8 ++++++++ packages/commonjs/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/commonjs/CHANGELOG.md b/packages/commonjs/CHANGELOG.md index 26909f198..e5a16d3fc 100644 --- a/packages/commonjs/CHANGELOG.md +++ b/packages/commonjs/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-commonjs ChangeLog +## v26.0.2 + +_2024-09-23_ + +### Bugfixes + +- fix: replace top-level this with exports name (#1618) + ## v26.0.1 _2024-06-05_ diff --git a/packages/commonjs/package.json b/packages/commonjs/package.json index eaf3fdef3..5daff7280 100644 --- a/packages/commonjs/package.json +++ b/packages/commonjs/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-commonjs", - "version": "26.0.1", + "version": "26.0.2", "publishConfig": { "access": "public" }, From 8c213e05398f3bea487b244715a4898a56873278 Mon Sep 17 00:00:00 2001 From: ikkz Date: Mon, 23 Sep 2024 23:14:17 +0800 Subject: [PATCH 20/21] fix(replace)!: objectGuards doesn't take effects (#1764) BREAKING CHANGES: Fixed the problem that the objectGuards option did not take effect, so the bundle results before and after may be inconsistent Co-authored-by: shellscape --- packages/replace/src/index.js | 20 ++---------------- .../test/fixtures/form/process-check/input.js | 2 +- packages/replace/test/snapshots/form.js.md | 2 +- packages/replace/test/snapshots/form.js.snap | Bin 801 -> 808 bytes 4 files changed, 4 insertions(+), 20 deletions(-) diff --git a/packages/replace/src/index.js b/packages/replace/src/index.js index cdbe6419a..48f624ad8 100755 --- a/packages/replace/src/index.js +++ b/packages/replace/src/index.js @@ -43,26 +43,10 @@ function expandTypeofReplacements(replacements) { const objMatch = key.match(objKeyRegEx); if (!objMatch) return; let dotIndex = objMatch[1].length; - let lastIndex = 0; do { // eslint-disable-next-line no-param-reassign - replacements[`typeof ${key.slice(lastIndex, dotIndex)} ===`] = '"object" ==='; - // eslint-disable-next-line no-param-reassign - replacements[`typeof ${key.slice(lastIndex, dotIndex)} !==`] = '"object" !=='; - // eslint-disable-next-line no-param-reassign - replacements[`typeof ${key.slice(lastIndex, dotIndex)}===`] = '"object"==='; - // eslint-disable-next-line no-param-reassign - replacements[`typeof ${key.slice(lastIndex, dotIndex)}!==`] = '"object"!=='; - // eslint-disable-next-line no-param-reassign - replacements[`typeof ${key.slice(lastIndex, dotIndex)} ==`] = '"object" ==='; - // eslint-disable-next-line no-param-reassign - replacements[`typeof ${key.slice(lastIndex, dotIndex)} !=`] = '"object" !=='; - // eslint-disable-next-line no-param-reassign - replacements[`typeof ${key.slice(lastIndex, dotIndex)}==`] = '"object"==='; - // eslint-disable-next-line no-param-reassign - replacements[`typeof ${key.slice(lastIndex, dotIndex)}!=`] = '"object"!=='; - lastIndex = dotIndex + 1; - dotIndex = key.indexOf('.', lastIndex); + replacements[`typeof ${key.slice(0, dotIndex)}`] = '"object"'; + dotIndex = key.indexOf('.', dotIndex + 1); } while (dotIndex !== -1); }); } diff --git a/packages/replace/test/fixtures/form/process-check/input.js b/packages/replace/test/fixtures/form/process-check/input.js index dcce0a89f..8e6bf9ddc 100644 --- a/packages/replace/test/fixtures/form/process-check/input.js +++ b/packages/replace/test/fixtures/form/process-check/input.js @@ -1,3 +1,3 @@ -if (typeof process !== 'undefined' && process.env.NODE_ENV === 'production') { +if (typeof process !== 'undefined' && typeof process.env === "object" && process.env.NODE_ENV === 'production') { console.log('production'); } diff --git a/packages/replace/test/snapshots/form.js.md b/packages/replace/test/snapshots/form.js.md index 04ba72de9..014ff876f 100644 --- a/packages/replace/test/snapshots/form.js.md +++ b/packages/replace/test/snapshots/form.js.md @@ -43,7 +43,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 - `if (typeof process !== 'undefined' && "production" === 'production') {␊ + `if ("object" !== 'undefined' && "object" === "object" && "production" === 'production') {␊ console.log('production');␊ }` diff --git a/packages/replace/test/snapshots/form.js.snap b/packages/replace/test/snapshots/form.js.snap index 242f1c08c07fa821ff2f54c6fba036f3c48d578e..297ea1cd9c369fa459394862cd73bffa5f8bd375 100644 GIT binary patch literal 808 zcmV+@1K0dPRzVf#q(1H zYEObA4j+pM00000000Axl}&HcKoEvoA%x@`S2!?@RGd_Gk|HFiQ-=>xK#0NtRe}Rj zH@lN$+s&@Evrbwe4qQ0#C(18H{)%nfR?TU5_I2i&cW3O&=|mZRMt}aIlTP9JkP*q5 zUZ8d%2!o`32Nq++ID%R-l^{qBl}eIkG0lymUzb8K$G-ONY~0&Of17tV?r%Pft>H-2 zN4@O7IedNm4kGX!lJiGp(nkW7Tu6tOLNF6TyF`L2*v|2xk>h|HO-5l~nOXP5gA!PH z00-M(tei>B)b=>rms{8#dndg$#BjkJp9f23C7URu5V8OgEDSlI7`dEE4r@W1YS^Ia z)T#UlItI(M7^7jYKkN_vD)+OZ=pa_fOzObIP8v=54S+V)732aa1Z@P~Ksdg^n95!c zfJ|aJE?B%?A7yK)xk?0j0C=9SYL11))dqZy{49j`ObdksMHt*gj4(@>6_oZ&kvnag zE5Ls@z|Z9rx*an)MeaJV6-D4DTHsV_6h1tD4C}KfimFX|5L+V>p4yWi`c=U1!4D6h zaWD1Lk@vH#ZL6RSv~hE(XJLt-T}K*em#}PjCfsz`% zx;XXCOkpLpFsr^WJV`yf_SqIPIV<&yYRE;Tjr_5JJg!qbeR4b6()_9~_G>pCOcR~C z8v;|xtf<}w;0#O<7?h$mV7CGI0MBD%9SEGVL^ipg4r;u$}U4Bjxk7RtH8SM6h?QBMnQ8#>$PT1ggK}3NNYG zcguAzo$CCr)kQkX#il0j3-iS+Fzf7YuRi7b4y|VPA}}#p=8UcNRrx(2DG&-Bl)5X} zzc<)F4|e|Z5_SgOR9bTI0tmU$0zzt8ox&7vkUB2f;Gn zhm+Ijz#oeU00000000AxmCtX}Fcil(A%v70S2*xiX-hjTX@`(t=~{k>0YVH8Xc8Qd z=Grf7Eczvo`X6J_{0{rQVdI)xVlMkJ?t zj@m^a43hR8SWFb-2x`GpiXb&qDoL6pG&7EVUkSk+`_{X+@n9qSZQkE_xcNA-h9gmk zdJ(=odUNs~M&LUn=MT%IPXsDCmkupOU?zlifdo~so#SI8$00YGjKWZvY4_BF5?FWu zhudJRoJ!5q_BfxHQ`jDRr@b}AV9p$$1q)^+n<%6R@&FRd4LP6$xr`-;wV+KkXi#

27ppK5`z)F^z|*?~@CjYxUsMF&RNdKK_{@Y4fmTtatlxoODq>cQkfjq8LJbQXK+K!o=A$Ogs2o7r38pNs2-Hm`LWtLRG zb8rSG2n2#Q6h z7TYP`HB!FF&g#Hugc0oD=t#p7qp@;hR07psw8D!j1WV~=cfy-C@V?*D&fRj{%UXE# zX?2-3ZZWCJLt(y}Ip&q!?bTcQz@gR5UIr#X%bc;bx+))kk^-U7L8-fj{YQiSOMmx2 zFJZUu#nO_4mq5sk77&4(Nh^j8gLBPZA=z6gD&kjJ0};0}ae+Xtn8n-vxGFUi>Nfbe f0X`^nu&RyEuaA$SqQ@GTYybZNKRZ>uR0jY6 Date: Mon, 23 Sep 2024 15:15:55 +0000 Subject: [PATCH 21/21] chore(release): replace v6.0.0 --- packages/replace/CHANGELOG.md | 8 ++++++++ packages/replace/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/replace/CHANGELOG.md b/packages/replace/CHANGELOG.md index 826a21468..e0729961f 100755 --- a/packages/replace/CHANGELOG.md +++ b/packages/replace/CHANGELOG.md @@ -1,5 +1,13 @@ # @rollup/plugin-replace ChangeLog +## v6.0.0 + +_2024-09-23_ + +### Breaking Changes + +- fix!: objectGuards doesn't take effects (#1764) + ## v5.0.7 _2024-06-05_ diff --git a/packages/replace/package.json b/packages/replace/package.json index e93542fe2..99d1f1131 100644 --- a/packages/replace/package.json +++ b/packages/replace/package.json @@ -1,6 +1,6 @@ { "name": "@rollup/plugin-replace", - "version": "5.0.7", + "version": "6.0.0", "publishConfig": { "access": "public" },