diff --git a/packages/app/metrics-utils/biome.json b/packages/app/metrics-utils/biome.json index d2a4eaf18..2193c7d48 100644 --- a/packages/app/metrics-utils/biome.json +++ b/packages/app/metrics-utils/biome.json @@ -2,6 +2,7 @@ "$schema": "../../../node_modules/@biomejs/biome/configuration_schema.json", "extends": [ "../../../node_modules/@lokalise/biome-config/configs/biome-base.jsonc", - "../../../node_modules/@lokalise/biome-config/configs/biome-package.jsonc" + "../../../node_modules/@lokalise/biome-config/configs/biome-package.jsonc", + "../../../node_modules/@lokalise/biome-config/configs/biome-esm.jsonc" ] } diff --git a/packages/app/metrics-utils/package.json b/packages/app/metrics-utils/package.json index b07f5e5d6..46b700db4 100644 --- a/packages/app/metrics-utils/package.json +++ b/packages/app/metrics-utils/package.json @@ -4,20 +4,15 @@ "files": ["dist"], "license": "Apache-2.0", "type": "module", - "main": "./dist/index.cjs", - "module": "./dist/index.js", - "types": "./dist/index.d.ts", + "main": "./dist/index.js", "homepage": "https://github.com/lokalise/shared-ts-libs", "repository": { "type": "git", "url": "git://github.com/lokalise/shared-ts-libs.git" }, "exports": { - ".": { - "types": "./dist/index.d.ts", - "require": "./dist/index.cjs", - "import": "./dist/index.js" - } + ".": "./dist/index.js", + "./package.json": "./package.json" }, "publishConfig": { "access": "public" @@ -25,7 +20,7 @@ "scripts": { "build": "rimraf dist && vite build", "clean": "rimraf dist", - "lint": "biome check . && tsc --project tsconfig.lint.json --noEmit", + "lint": "biome check . && tsc", "lint:fix": "biome check --write", "test:ci": "vitest run --coverage", "prepublishOnly": "npm run build", @@ -33,19 +28,21 @@ "postversion": "biome check --write package.json" }, "peerDependencies": { - "@lokalise/fastify-extras": ">=24.0.0", + "@lokalise/fastify-extras": ">=27.0.0", "prom-client": "^15.1.3", "fastify-metrics": "^12.1.0" }, "devDependencies": { "@biomejs/biome": "^1.9.4", "@lokalise/biome-config": "^1.5.0", - "@lokalise/fastify-extras": "^26.1.1", + "@lokalise/fastify-extras": "^27.0.0", "@lokalise/package-vite-config": "latest", + "@lokalise/tsconfig": "^1.0.2", "@vitest/coverage-v8": "^3.0.7", "rimraf": "^6.0.1", "typescript": "5.8.2", "vite": "6.2.1", + "vite-plugin-dts": "^4.5.3", "vitest": "^3.0.7" } } diff --git a/packages/app/metrics-utils/src/AbstractCounterMetric.spec.ts b/packages/app/metrics-utils/src/AbstractCounterMetric.spec.ts index 98819ed0e..e874a7614 100644 --- a/packages/app/metrics-utils/src/AbstractCounterMetric.spec.ts +++ b/packages/app/metrics-utils/src/AbstractCounterMetric.spec.ts @@ -1,6 +1,6 @@ import type { IFastifyMetrics } from 'fastify-metrics' import { type Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest' -import { AbstractCounterMetric } from './AbstractCounterMetric' +import { AbstractCounterMetric } from './AbstractCounterMetric.js' class ConcreteCounterMetric extends AbstractCounterMetric<'status', ['successful', 'failed']> { constructor(appMetrics?: IFastifyMetrics) { diff --git a/packages/app/metrics-utils/src/index.ts b/packages/app/metrics-utils/src/index.ts index c547b5181..f2bc750a3 100644 --- a/packages/app/metrics-utils/src/index.ts +++ b/packages/app/metrics-utils/src/index.ts @@ -1 +1 @@ -export { AbstractCounterMetric } from './AbstractCounterMetric' +export { AbstractCounterMetric } from './AbstractCounterMetric.js' diff --git a/packages/app/metrics-utils/tsconfig.build.json b/packages/app/metrics-utils/tsconfig.build.json new file mode 100644 index 000000000..2a8d4af0e --- /dev/null +++ b/packages/app/metrics-utils/tsconfig.build.json @@ -0,0 +1,5 @@ +{ + "extends": ["./tsconfig.json", "@lokalise/tsconfig/build-public-lib"], + "include": ["src/**/*"], + "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"] +} diff --git a/packages/app/metrics-utils/tsconfig.json b/packages/app/metrics-utils/tsconfig.json index 9e36b9f25..dc65962ff 100644 --- a/packages/app/metrics-utils/tsconfig.json +++ b/packages/app/metrics-utils/tsconfig.json @@ -1,27 +1,4 @@ { - "compilerOptions": { - "outDir": "dist", - "module": "ESNext", - "target": "ESNext", - "lib": ["ESNext"], - "sourceMap": true, - "declaration": true, - "declarationMap": true, - "types": ["vitest/globals"], - "strict": true, - "moduleResolution": "node", - "noUnusedLocals": false, - "noUnusedParameters": false, - "noFallthroughCasesInSwitch": true, - "strictNullChecks": true, - "importHelpers": true, - "baseUrl": ".", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true - }, - "include": ["src/**/*"], - "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"] + "extends": "@lokalise/tsconfig/bundler", + "include": ["src/**/*", "vite.config.ts"] } diff --git a/packages/app/metrics-utils/tsconfig.lint.json b/packages/app/metrics-utils/tsconfig.lint.json deleted file mode 100644 index db6f4280d..000000000 --- a/packages/app/metrics-utils/tsconfig.lint.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": ["./tsconfig.json"], - "include": ["src/**/*", "test/**/*", "vite.config.ts"], - "exclude": [] -} diff --git a/packages/app/metrics-utils/vite.config.ts b/packages/app/metrics-utils/vite.config.ts index 6a9110570..85f1f6c41 100644 --- a/packages/app/metrics-utils/vite.config.ts +++ b/packages/app/metrics-utils/vite.config.ts @@ -1,6 +1,6 @@ import { resolve } from 'node:path' - import defineConfig from '@lokalise/package-vite-config/package' +import dtsPlugin from 'vite-plugin-dts' // @ts-ignore import packageJson from './package.json' @@ -9,6 +9,7 @@ import packageJson from './package.json' export default defineConfig({ entry: resolve(__dirname, 'src/index.ts'), dependencies: Object.keys(packageJson.peerDependencies), + plugins: [dtsPlugin({ tsconfigPath: './tsconfig.build.json' })], test: { coverage: { exclude: ['src/**/index.ts', 'src/**/*.spec.ts'],