diff --git a/package-lock.json b/package-lock.json index 766a4bc..f07e30c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2510,35 +2510,8 @@ "version": "0.1.3", "license": "MIT", "devDependencies": { - "@rollup/plugin-replace": "5.0.2", - "@rollup/plugin-terser": "0.4.3", - "@rollup/plugin-typescript": "11.1.3", - "rollup": "3.28.1", - "tslib": "2.6.2", - "typescript": "5.2.2" + "tsup": "7.2.0" } - }, - "packages/web/node_modules/rollup": { - "version": "3.28.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", - "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "packages/web/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true } } } diff --git a/packages/web/package.json b/packages/web/package.json index 2da99ec..cef6a0b 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -3,13 +3,13 @@ "version": "0.1.3", "type": "module", "description": "JavaScript SDK for Aptabase: Open Source, Privacy-First and Simple Analytics for Mobile, Desktop and Web Apps", - "main": "./dist/index.js", - "module": "./dist/index.mjs", + "main": "./dist/index.cjs", + "module": "./dist/index.js", "types": "./dist/index.d.ts", "exports": { ".": { - "require": "./dist/index.js", - "import": "./dist/index.mjs", + "require": "./dist/index.cjs", + "import": "./dist/index.js", "types": "./dist/index.d.ts" } }, @@ -24,10 +24,7 @@ "homepage": "https://github.com/aptabase/aptabase-js", "license": "MIT", "scripts": { - "build": "rollup -c ./rollup.config.mjs", - "watch": "rollup -c ./rollup.config.mjs -w", - "prepublishOnly": "npm run build", - "pretest": "npm run build" + "build": "tsup" }, "files": [ "README.md", @@ -36,11 +33,6 @@ "package.json" ], "devDependencies": { - "@rollup/plugin-replace": "5.0.2", - "@rollup/plugin-typescript": "11.1.3", - "rollup": "3.28.1", - "@rollup/plugin-terser": "0.4.3", - "tslib": "2.6.2", - "typescript": "5.2.2" + "tsup": "7.2.0" } } diff --git a/packages/web/rollup.config.mjs b/packages/web/rollup.config.mjs deleted file mode 100644 index b466a96..0000000 --- a/packages/web/rollup.config.mjs +++ /dev/null @@ -1,38 +0,0 @@ -import replace from '@rollup/plugin-replace'; -import terser from '@rollup/plugin-terser'; -import typescript from '@rollup/plugin-typescript'; -import pkg from './package.json' assert { type: 'json' }; - -const plugins = [ - terser(), - replace({ - 'env.PKG_VERSION': pkg.version, - preventAssignment: true, - }), - typescript({ - tsconfig: './tsconfig.json', - moduleResolution: 'node', - }), -]; - -const cjs = { - input: './src/index.ts', - output: { - dir: './dist', - entryFileNames: '[name].js', - format: 'cjs', - }, - plugins, -}; - -const es = { - input: './src/index.ts', - output: { - dir: './dist', - entryFileNames: '[name].mjs', - format: 'es', - }, - plugins, -}; - -export default [cjs, es]; diff --git a/packages/web/tsconfig.json b/packages/web/tsconfig.json index 0f249c6..850a3d7 100644 --- a/packages/web/tsconfig.json +++ b/packages/web/tsconfig.json @@ -1,15 +1,15 @@ { "compilerOptions": { - "target": "ES5", + "target": "es6", "strict": true, + "moduleResolution": "node", "esModuleInterop": true, + "jsx": "react-jsx", "baseUrl": ".", "paths": { "types": ["@types"] }, "declaration": true, - "declarationDir": "./dist", - "rootDir": "./src" - }, - "include": ["./"] + "declarationDir": "./dist" + } } diff --git a/packages/web/tsup.config.ts b/packages/web/tsup.config.ts new file mode 100644 index 0000000..f424baa --- /dev/null +++ b/packages/web/tsup.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from 'tsup'; + +export default defineConfig({ + entry: ['src/index.ts'], + format: ['cjs', 'esm'], + dts: true, + splitting: false, + sourcemap: true, + clean: true, +});