From 220072251b744f4cbcefbd8a673f65e719a7e1cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benedikt=20R=C3=B6tsch?= Date: Wed, 17 Sep 2025 12:12:50 +0200 Subject: [PATCH 1/5] build: whole build process is now handled by rollup --- package-lock.json | 137 +++++++++++++++++++++++++++++++++ package.json | 7 +- rollup.config.js | 49 +++++++++++- src/create-default-options.ts | 2 +- src/error-handler.ts | 6 +- global.d.ts => src/global.d.ts | 0 src/rate-limit-throttle.ts | 10 +-- tsconfig.json | 24 +++--- 8 files changed, 206 insertions(+), 29 deletions(-) rename global.d.ts => src/global.d.ts (100%) diff --git a/package-lock.json b/package-lock.json index c71f0bbc..b20791fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "qs": "^6.12.3" }, "devDependencies": { + "@rollup/plugin-typescript": "^12.1.4", "@semantic-release/changelog": "^6.0.3", "@semantic-release/commit-analyzer": "^13.0.0", "@semantic-release/github": "^10.0.6", @@ -39,6 +40,7 @@ "prettier": "^3.3.2", "rimraf": "^5.0.7", "rollup": "^4.28.1", + "rollup-plugin-sourcemaps2": "^0.5.4", "semantic-release": "^21.0.5", "typescript": "^5.4.5", "vitest": "^2.0.2" @@ -1227,6 +1229,76 @@ "node": ">=12" } }, + "node_modules/@rollup/plugin-typescript": { + "version": "12.1.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-12.1.4.tgz", + "integrity": "sha512-s5Hx+EtN60LMlDBvl5f04bEiFZmAepk27Q+mr85L/00zPDn1jtzlTV6FWn81MaIwqfWzKxmOJrBWHU6vtQyedQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.1.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.14.0||^3.0.0||^4.0.0", + "tslib": "*", + "typescript": ">=3.7.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + }, + "tslib": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/pluginutils/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.30.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.30.1.tgz", @@ -11059,6 +11131,71 @@ "fsevents": "~2.3.2" } }, + "node_modules/rollup-plugin-sourcemaps2": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps2/-/rollup-plugin-sourcemaps2-0.5.4.tgz", + "integrity": "sha512-XK6ITvEsKtUFN1GQbYKoqilwh1yKxTS9BLaFlVsm0IaYUYe3eVnhBWzKP4AHbkBO2BNOheGNlf407K7wCj6Rrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "5.2.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@types/node": ">=18.0.0", + "rollup": ">=4" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/rollup-plugin-sourcemaps2/node_modules/@rollup/pluginutils": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz", + "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/rollup-plugin-sourcemaps2/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/rollup-plugin-sourcemaps2/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/run-async": { "version": "2.4.1", "dev": true, diff --git a/package.json b/package.json index 5f0e2879..77e9a741 100644 --- a/package.json +++ b/package.json @@ -26,9 +26,8 @@ "author": "Contentful ", "license": "MIT", "scripts": { - "clean": "rimraf coverage && rimraf dist", - "build": "npm run clean && npm run build:esm && npm run build:rollup && rm -rf dist/esm-raw", - "build:esm": "tsc", + "clean": "rimraf dist", + "build": "npm run clean && npm run build:rollup", "build:rollup": "NODE_ENV=production rollup -c", "lint": "eslint src test --ext '.ts'", "pretest": "npm run lint", @@ -53,6 +52,8 @@ "qs": "^6.12.3" }, "devDependencies": { + "@rollup/plugin-typescript": "^12.1.4", + "rollup-plugin-sourcemaps2": "^0.5.4", "@semantic-release/changelog": "^6.0.3", "@semantic-release/commit-analyzer": "^13.0.0", "@semantic-release/github": "^10.0.6", diff --git a/rollup.config.js b/rollup.config.js index b6db9535..972843c3 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,20 +1,63 @@ +import typescript from '@rollup/plugin-typescript' +import sourcemaps from 'rollup-plugin-sourcemaps2' + +const tsPlugin = typescript({ + declaration: false, + noEmitOnError: true +}) + +const external = [ + 'fast-copy', + 'process', + 'lodash', + 'qs', + 'p-throttle' +] + const esmConfig = { - input: 'dist/esm-raw/index.js', + input: 'src/index.ts', output: { dir: 'dist/esm', format: 'esm', preserveModules: true, + sourcemap: true }, + plugins: [tsPlugin, sourcemaps()], + external } const cjsConfig = { - input: 'dist/esm-raw/index.js', + input: 'src/index.ts', output: { dir: 'dist/cjs', format: 'cjs', preserveModules: true, entryFileNames: '[name].cjs', + sourcemap: true + }, + plugins: [tsPlugin, sourcemaps()], + external +} + +// Types build in Rollup +const typesConfig = { + input: 'src/index.ts', + output: { + dir: 'dist/types', + format: 'esm', + preserveModules: true, + sourcemap: true }, + plugins: [ + typescript({ + tsconfig: './tsconfig.json', + outDir: 'dist/types', + declaration: true, + noEmitOnError: true, + emitDeclarationOnly: true + }) + ], + external } -export default [esmConfig, cjsConfig] +export default [esmConfig, cjsConfig, typesConfig] diff --git a/src/create-default-options.ts b/src/create-default-options.ts index 71d9fa0c..30cdfedf 100644 --- a/src/create-default-options.ts +++ b/src/create-default-options.ts @@ -1,4 +1,4 @@ -import { CreateHttpClientParams, DefaultOptions } from './types' +import { CreateHttpClientParams, DefaultOptions } from './types.js' import { AxiosRequestHeaders } from 'axios' import qs from 'qs' diff --git a/src/error-handler.ts b/src/error-handler.ts index 64cdca2b..ddc922fc 100644 --- a/src/error-handler.ts +++ b/src/error-handler.ts @@ -1,4 +1,4 @@ -import isPlainObject from 'lodash/isPlainObject.js' +import { isPlainObject } from 'lodash' import type { ContentfulErrorData } from './types.js' function obscureHeaders(config: any) { @@ -38,7 +38,7 @@ export default function errorHandler(errorResponse: any): never { status: response?.status, statusText: response?.statusText, message: '', - details: {}, + details: {} } if (config && isPlainObject(config)) { @@ -46,7 +46,7 @@ export default function errorHandler(errorResponse: any): never { url: config.url, headers: config.headers, method: config.method, - payloadData: config.data, + payloadData: config.data } } if (data && typeof data === 'object') { diff --git a/global.d.ts b/src/global.d.ts similarity index 100% rename from global.d.ts rename to src/global.d.ts diff --git a/src/rate-limit-throttle.ts b/src/rate-limit-throttle.ts index d7e14f15..117fd483 100644 --- a/src/rate-limit-throttle.ts +++ b/src/rate-limit-throttle.ts @@ -1,4 +1,4 @@ -import isString from 'lodash/isString.js' +import { isString } from 'lodash' import pThrottle from 'p-throttle' import { AxiosInstance } from './types.js' @@ -26,7 +26,7 @@ function createThrottle(limit: number, logger: (...args: any[]) => void) { return pThrottle({ limit, interval: 1000, - strict: false, + strict: false }) } @@ -42,7 +42,7 @@ export default (axiosInstance: AxiosInstance, type: ThrottleType | number = 'aut }, function (error) { return Promise.reject(error) - }, + } ) const responseInterceptorId = axiosInstance.interceptors.response.use( @@ -71,7 +71,7 @@ export default (axiosInstance: AxiosInstance, type: ThrottleType | number = 'aut }, function (error) { return Promise.reject(error) - }, + } ) } @@ -82,7 +82,7 @@ export default (axiosInstance: AxiosInstance, type: ThrottleType | number = 'aut }, function (error) { return Promise.reject(error) - }, + } ) return () => { diff --git a/tsconfig.json b/tsconfig.json index 61835ecb..69acc016 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,22 +1,18 @@ { "compilerOptions": { - "outDir": "./dist/esm-raw", "rootDir": "./src", "lib": ["dom", "esnext"], - "target": "ES2020", - "module": "es2020", - "moduleResolution": "node", - "allowJs": true, - "declarationDir": "dist/types", - "declaration": true, + "target": "ES2021", + "module": "nodenext", + "moduleResolution": "nodenext", "strict": true, "importHelpers": true, - "isolatedModules": false, "esModuleInterop": true, - "noImplicitThis": false, - "typeRoots": ["node_modules/@types"], - "noImplicitAny": false, - "skipLibCheck": true + "skipLibCheck": true, + "noEmit": true, + "inlineSources": true, + "sourceMap": true, + "noImplicitThis": false }, - "include": ["src/**/*", "global.d.ts"], -} \ No newline at end of file + "include": ["src"] +} From 2a1d43aa516a933643310a4a432afc713b485727 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benedikt=20R=C3=B6tsch?= Date: Wed, 17 Sep 2025 12:13:39 +0200 Subject: [PATCH 2/5] build: move to node v20 --- .circleci/config.yml | 6 +++--- .nvmrc | 2 +- package-lock.json | 2 +- package.json | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5be6e2fe..0c07c06a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,12 +2,12 @@ version: 2.1 orbs: vault: contentful/vault@1 - node: circleci/node@5.2.0 + node: circleci/node@7.1.1 jobs: test: docker: - - image: cimg/node:18.19 + - image: 'cimg/node:20.19.4' steps: - checkout - node/install-packages @@ -17,7 +17,7 @@ jobs: - run: npm run test:cover release: docker: - - image: cimg/node:18.19 + - image: 'cimg/node:20.19.4' steps: - checkout - vault/get-secrets: # Loads vault secrets diff --git a/.nvmrc b/.nvmrc index 3f430af8..9a2a0e21 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18 +v20 diff --git a/package-lock.json b/package-lock.json index b20791fd..88f61f9c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,7 +46,7 @@ "vitest": "^2.0.2" }, "engines": { - "node": ">=18" + "node": ">=20" }, "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "^4.18.0" diff --git a/package.json b/package.json index 77e9a741..48a00b38 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "process": "process/browser" }, "engines": { - "node": ">=18" + "node": ">=20" }, "repository": { "type": "git", From 72f0e948fd86c3d838ec400a20129f45f7887f55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benedikt=20R=C3=B6tsch?= Date: Wed, 17 Sep 2025 12:15:01 +0200 Subject: [PATCH 3/5] build: move axios to regular dependencies --- package-lock.json | 11 +---------- package.json | 2 +- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 88f61f9c..ce98a1ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0-determined-by-semantic-release", "license": "MIT", "dependencies": { + "axios": "^1.7.2", "fast-copy": "^3.0.2", "lodash": "^4.17.21", "p-throttle": "^6.1.0", @@ -27,7 +28,6 @@ "@typescript-eslint/eslint-plugin": "^5.11.0", "@typescript-eslint/parser": "^5.11.0", "@vitest/coverage-v8": "^2.0.2", - "axios": "^1.7.2", "axios-mock-adapter": "^1.20.0", "cz-conventional-changelog": "^3.1.0", "eslint": "^8.57.0", @@ -2730,7 +2730,6 @@ }, "node_modules/asynckit": { "version": "0.4.0", - "dev": true, "license": "MIT" }, "node_modules/at-least-node": { @@ -2757,7 +2756,6 @@ "version": "1.7.9", "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", - "dev": true, "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -3185,7 +3183,6 @@ }, "node_modules/combined-stream": { "version": "1.0.8", - "dev": true, "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" @@ -3571,7 +3568,6 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=0.4.0" @@ -4683,7 +4679,6 @@ }, "node_modules/follow-redirects": { "version": "1.15.6", - "dev": true, "funding": [ { "type": "individual", @@ -4727,7 +4722,6 @@ }, "node_modules/form-data": { "version": "4.0.0", - "dev": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", @@ -6903,7 +6897,6 @@ }, "node_modules/mime-db": { "version": "1.52.0", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -6911,7 +6904,6 @@ }, "node_modules/mime-types": { "version": "2.1.35", - "dev": true, "license": "MIT", "dependencies": { "mime-db": "1.52.0" @@ -10523,7 +10515,6 @@ }, "node_modules/proxy-from-env": { "version": "1.1.0", - "dev": true, "license": "MIT" }, "node_modules/punycode": { diff --git a/package.json b/package.json index 48a00b38..bd070e0c 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "dist" ], "dependencies": { + "axios": "^1.7.2", "fast-copy": "^3.0.2", "lodash": "^4.17.21", "p-throttle": "^6.1.0", @@ -64,7 +65,6 @@ "@typescript-eslint/eslint-plugin": "^5.11.0", "@typescript-eslint/parser": "^5.11.0", "@vitest/coverage-v8": "^2.0.2", - "axios": "^1.7.2", "axios-mock-adapter": "^1.20.0", "cz-conventional-changelog": "^3.1.0", "eslint": "^8.57.0", From caee390a99b56939d53e27907fa38e1ad062ca6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benedikt=20R=C3=B6tsch?= Date: Wed, 17 Sep 2025 12:18:26 +0200 Subject: [PATCH 4/5] style: apply prettier --- rollup.config.js | 26 ++++++++++---------------- src/error-handler.ts | 4 ++-- src/rate-limit-throttle.ts | 8 ++++---- 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/rollup.config.js b/rollup.config.js index 972843c3..f01aa959 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -3,16 +3,10 @@ import sourcemaps from 'rollup-plugin-sourcemaps2' const tsPlugin = typescript({ declaration: false, - noEmitOnError: true + noEmitOnError: true, }) -const external = [ - 'fast-copy', - 'process', - 'lodash', - 'qs', - 'p-throttle' -] +const external = ['fast-copy', 'process', 'lodash', 'qs', 'p-throttle'] const esmConfig = { input: 'src/index.ts', @@ -20,10 +14,10 @@ const esmConfig = { dir: 'dist/esm', format: 'esm', preserveModules: true, - sourcemap: true + sourcemap: true, }, plugins: [tsPlugin, sourcemaps()], - external + external, } const cjsConfig = { @@ -33,10 +27,10 @@ const cjsConfig = { format: 'cjs', preserveModules: true, entryFileNames: '[name].cjs', - sourcemap: true + sourcemap: true, }, plugins: [tsPlugin, sourcemaps()], - external + external, } // Types build in Rollup @@ -46,7 +40,7 @@ const typesConfig = { dir: 'dist/types', format: 'esm', preserveModules: true, - sourcemap: true + sourcemap: true, }, plugins: [ typescript({ @@ -54,10 +48,10 @@ const typesConfig = { outDir: 'dist/types', declaration: true, noEmitOnError: true, - emitDeclarationOnly: true - }) + emitDeclarationOnly: true, + }), ], - external + external, } export default [esmConfig, cjsConfig, typesConfig] diff --git a/src/error-handler.ts b/src/error-handler.ts index ddc922fc..ac96fca7 100644 --- a/src/error-handler.ts +++ b/src/error-handler.ts @@ -38,7 +38,7 @@ export default function errorHandler(errorResponse: any): never { status: response?.status, statusText: response?.statusText, message: '', - details: {} + details: {}, } if (config && isPlainObject(config)) { @@ -46,7 +46,7 @@ export default function errorHandler(errorResponse: any): never { url: config.url, headers: config.headers, method: config.method, - payloadData: config.data + payloadData: config.data, } } if (data && typeof data === 'object') { diff --git a/src/rate-limit-throttle.ts b/src/rate-limit-throttle.ts index 117fd483..65f41d9e 100644 --- a/src/rate-limit-throttle.ts +++ b/src/rate-limit-throttle.ts @@ -26,7 +26,7 @@ function createThrottle(limit: number, logger: (...args: any[]) => void) { return pThrottle({ limit, interval: 1000, - strict: false + strict: false, }) } @@ -42,7 +42,7 @@ export default (axiosInstance: AxiosInstance, type: ThrottleType | number = 'aut }, function (error) { return Promise.reject(error) - } + }, ) const responseInterceptorId = axiosInstance.interceptors.response.use( @@ -71,7 +71,7 @@ export default (axiosInstance: AxiosInstance, type: ThrottleType | number = 'aut }, function (error) { return Promise.reject(error) - } + }, ) } @@ -82,7 +82,7 @@ export default (axiosInstance: AxiosInstance, type: ThrottleType | number = 'aut }, function (error) { return Promise.reject(error) - } + }, ) return () => { From fccc3b081ae1d30a2f1e254f369c08cc9e92ed65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benedikt=20R=C3=B6tsch?= Date: Wed, 17 Sep 2025 12:22:01 +0200 Subject: [PATCH 5/5] build: remove unused process dependency --- package-lock.json | 8 -------- package.json | 5 ++--- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index ce98a1ff..8af6b9cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,6 @@ "fast-copy": "^3.0.2", "lodash": "^4.17.21", "p-throttle": "^6.1.0", - "process": "^0.11.10", "qs": "^6.12.3" }, "devDependencies": { @@ -10496,13 +10495,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/process": { - "version": "0.11.10", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/process-nextick-args": { "version": "2.0.1", "dev": true, diff --git a/package.json b/package.json index bd070e0c..77ce7618 100644 --- a/package.json +++ b/package.json @@ -49,12 +49,10 @@ "fast-copy": "^3.0.2", "lodash": "^4.17.21", "p-throttle": "^6.1.0", - "process": "^0.11.10", "qs": "^6.12.3" }, "devDependencies": { "@rollup/plugin-typescript": "^12.1.4", - "rollup-plugin-sourcemaps2": "^0.5.4", "@semantic-release/changelog": "^6.0.3", "@semantic-release/commit-analyzer": "^13.0.0", "@semantic-release/github": "^10.0.6", @@ -77,6 +75,7 @@ "prettier": "^3.3.2", "rimraf": "^5.0.7", "rollup": "^4.28.1", + "rollup-plugin-sourcemaps2": "^0.5.4", "semantic-release": "^21.0.5", "typescript": "^5.4.5", "vitest": "^2.0.2" @@ -137,4 +136,4 @@ "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "^4.18.0" } -} \ No newline at end of file +}