diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9e44b02932..43d1ea9fbc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,9 +25,7 @@ jobs: - name: Prettier run: node --run prettier:check - name: Bundle - run: | - node --run build - node --run build:types + run: node --run build - name: Build website run: node --run build:website - name: Install Playwright Browsers diff --git a/api-extractor.json b/api-extractor.json deleted file mode 100644 index 2f872a7333..0000000000 --- a/api-extractor.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFilePath": "/.cache/lib/index.d.ts", - "apiReport": { - "enabled": false - }, - "docModel": { - "enabled": false - }, - "dtsRollup": { - "enabled": true, - "untrimmedFilePath": "/lib/index.d.ts" - }, - "tsdocMetadata": { - "enabled": false - }, - "newlineKind": "lf", - "messages": { - "compilerMessageReporting": { - "default": { - "logLevel": "warning" - } - }, - "extractorMessageReporting": { - "default": { - "logLevel": "none" - } - }, - "tsdocMessageReporting": { - "default": { - "logLevel": "none" - } - } - } -} diff --git a/package.json b/package.json index e39d091f36..f50d02cd68 100644 --- a/package.json +++ b/package.json @@ -17,12 +17,12 @@ "./lib/styles.css": "./lib/styles.css", ".": { "types": "./lib/index.d.ts", - "default": "./lib/bundle.js" + "default": "./lib/index.js" } }, - "browser": "./lib/bundle.js", - "main": "./lib/bundle.js", - "module": "./lib/bundle.js", + "browser": "./lib/index.js", + "main": "./lib/index.js", + "module": "./lib/index.js", "types": "./lib/index.d.ts", "files": [ "lib" @@ -35,7 +35,6 @@ "preview": "vite preview", "build:website": "vite build", "build": "rolldown -c", - "build:types": "tsc -p tsconfig.lib.json && api-extractor run --local --verbose", "test": "vitest run", "test:watch": "vitest watch", "format": "biome format --write", @@ -46,7 +45,7 @@ "prettier:check": "prettier --check .", "prettier:format": "prettier --write .", "typecheck": "tsc --build", - "prepublishOnly": "npm install && node --run build && node --run build:types", + "prepublishOnly": "npm install && node --run build", "postpublish": "git push --follow-tags origin HEAD" }, "dependencies": { @@ -59,7 +58,6 @@ "@faker-js/faker": "^9.6.0", "@ianvs/prettier-plugin-sort-imports": "^4.4.1", "@linaria/core": "^6.3.0", - "@microsoft/api-extractor": "^7.52.7", "@tanstack/react-router": "^1.114.16", "@tanstack/router-plugin": "^1.114.16", "@types/node": "^22.15.16", @@ -91,7 +89,8 @@ "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-dom": "^19.1.0", - "rolldown": "^1.0.0-beta.8", + "rolldown": "^1.0.0-beta.9", + "rolldown-plugin-dts": "^0.13.3", "typescript": "~5.8.2", "vite": "^6.3.5", "vitest": "^3.1.3", diff --git a/rolldown.config.js b/rolldown.config.ts similarity index 78% rename from rolldown.config.js rename to rolldown.config.ts index f35de1e7e5..1ca8a261ac 100644 --- a/rolldown.config.js +++ b/rolldown.config.ts @@ -1,22 +1,23 @@ -// @ts-check -import { isAbsolute } from 'node:path'; import wyw from '@wyw-in-js/rollup'; -import pkg from './package.json' with { type: 'json' }; import { defineConfig } from 'rolldown'; +import { dts } from 'rolldown-plugin-dts'; + +import pkg from './package.json' with { type: 'json' }; export default defineConfig({ input: './src/index.ts', output: { dir: 'lib', - entryFileNames: 'bundle.js', cssEntryFileNames: 'styles.css', sourcemap: true }, platform: 'browser', - external: (id) => !id.startsWith('.') && !isAbsolute(id), plugins: [ - // @ts-expect-error + dts({ + tsconfig: './tsconfig.lib.json' + }), wyw({ + exclude: ['**/*.d.ts'], preprocessor: 'none', classNameSlug(/** @type {string} */ hash) { // We add the package version as suffix to avoid style conflicts diff --git a/tsconfig.lib.json b/tsconfig.lib.json index e1d65f6a25..e74d74cb11 100644 --- a/tsconfig.lib.json +++ b/tsconfig.lib.json @@ -4,8 +4,7 @@ "composite": false, "declaration": true, "lib": ["ESNext", "DOM", "DOM.Iterable", "DOM.AsyncIterable"], - "noCheck": true, - "outDir": "./.cache/lib" + "noCheck": true }, "files": ["src/index.ts"] } diff --git a/tsconfig.vite.json b/tsconfig.vite.json index f965998fcd..55ce01b576 100644 --- a/tsconfig.vite.json +++ b/tsconfig.vite.json @@ -4,5 +4,5 @@ "skipLibCheck": true, "types": ["@vitest/browser/providers/playwright"] }, - "include": ["vite.config.ts"] + "include": ["package.json", "rolldown.config.ts", "vite.config.ts"] } diff --git a/vite.config.ts b/vite.config.ts index 7ec2496bf9..32fd853f0d 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -65,7 +65,7 @@ export default defineConfig(({ command }) => ({ exclude: ['./.cache/**/*'] }), wyw({ - exclude: ['./.cache/**/*'], + exclude: ['./.cache/**/*', '**/*.d.ts', '**/*.gen.ts'], preprocessor: 'none', displayName: command === 'serve' })