diff --git a/cspell.json b/cspell.json index 591af1222..14db3e05b 100644 --- a/cspell.json +++ b/cspell.json @@ -54,6 +54,7 @@ "stylexjs", "sxzz", "tada", + "tsdown", "twoslash", "unconfig", "undefinedable", diff --git a/monoman.config.ts b/monoman.config.ts index ddbddf720..71af6c751 100644 --- a/monoman.config.ts +++ b/monoman.config.ts @@ -1,8 +1,6 @@ -import { access, readdir, readFile, writeFile } from 'node:fs/promises' +import { readdir, readFile, writeFile } from 'node:fs/promises' import path from 'node:path' import { camelCase } from 'change-case' -import fg from 'fast-glob' -import { createJiti } from 'jiti' import { defineConfig, noDuplicatedDeps, @@ -10,9 +8,6 @@ import { } from 'monoman' import { docsLink, githubLink } from './macros/repo' import type { PackageJson } from 'pkg-types' -import type { Options } from 'tsup' - -const jiti = createJiti(import.meta.url) /// keep-sorted const descriptions: Record = { @@ -26,13 +21,6 @@ const descriptions: Record = { volar: 'Volar plugin for Vue Macros.', } -function exists(filePath: string) { - return access(filePath).then( - () => true, - () => false, - ) -} - function getPkgName(filePath: string) { const relative = path.relative(import.meta.dirname, filePath) const [, pkgName] = relative.split(path.sep) @@ -117,60 +105,6 @@ export default unplugin.${entry} as typeof unplugin.${entry}\n`, data.publishConfig.access = 'public' data.publishConfig.tag = 'next' - const tsupFile = path.resolve(pkgRoot, 'tsup.config.ts') - if (!data.meta?.skipExports && (await exists(tsupFile))) { - const tsupConfig: Options = ( - await jiti.import<{ default: Options }>(tsupFile) - ).default - const entries = ( - await fg(tsupConfig.entry as string[], { - cwd: pkgRoot, - absolute: true, - }) - ).map((file) => path.basename(path.relative(pkgSrc, file), '.ts')) - - data.exports = buildExports(true) - const exports = (data.publishConfig.exports = buildExports()) - - const mainExport = exports['.'] - if (mainExport) { - data.main = stripCurrentDir(mainExport.require || mainExport) - data.module = stripCurrentDir(mainExport.import || mainExport) - } - - const onlyIndex = entries.length === 1 && entries[0] === 'index' - - if (onlyIndex) delete data.typesVersions - else - data.typesVersions = { - '*': { - '*': ['./dist/*', './*'], - }, - } - - function buildExports(withDev?: boolean) { - return { - ...Object.fromEntries( - entries - .map((entry) => { - const key = entry === 'index' ? '.' : `./${entry}` - - const map: Record = {} - if (withDev) map.dev = `./src/${entry}.ts` - map.default = `./dist/${entry}.js` - - if (Object.keys(map).length === 1) { - return [key, Object.values(map)[0]] - } - return [key, map] as const - }) - .sort(([a], [b]) => a.localeCompare(b)), - ), - './*': hasRootDts ? ['./*', './*.d.ts'] : './*', - } - } - } - return data }, }, @@ -222,7 +156,3 @@ Please refer to [README.md](${githubLink}#readme)\n` allowMajor: true, }), ]) - -function stripCurrentDir(filePath: string) { - return filePath.replace(/^\.\//, '') -} diff --git a/package.json b/package.json index b9f1156a1..35a51ce16 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,16 @@ { "name": "monorepo-vue-macros", - "version": "3.0.0-beta.12", + "version": "3.0.0-beta.13", "private": true, - "packageManager": "pnpm@10.10.0", + "packageManager": "pnpm@10.11.0", "description": "Monorepo for Vue Macros.", "type": "module", "author": "三咲智子 Kevin Deng ", "funding": "https://github.com/sponsors/vue-macros", "scripts": { - "build": "pnpm run --filter=\"./packages/*\" --parallel build", - "dev": "pnpm run --filter=\"./packages/*\" --parallel dev", - "clean": "rimraf dist coverage \"packages/*/dist\" && pnpm run -r --parallel clean", + "build": "pnpm run --filter=\"./packages/*\" --parallel build && tsdown", + "dev": "DEV=true tsdown", + "clean": "rimraf -g dist coverage \"packages/*/dist\" && pnpm run -r --parallel clean", "docs:dev": "pnpm run -C ./docs dev", "docs:preview": "pnpm run -C ./docs preview", "docs:build": "pnpm run -C ./docs build", @@ -63,12 +63,11 @@ "rollup": "catalog:", "rollup-plugin-dts": "catalog:", "taze": "catalog:", - "tsup": "catalog:", + "tsdown": "catalog:", "tsx": "catalog:", "typescript": "catalog:", "unocss": "catalog:", "unplugin": "catalog:", - "unplugin-isolated-decl": "catalog:", "unplugin-macros": "catalog:", "unplugin-quansync": "catalog:", "unplugin-raw": "catalog:", @@ -85,17 +84,16 @@ }, "resolutions": { "@netlify/functions": "-", + "@rolldown/pluginutils": "catalog:", "@shikijs/core": "catalog:", "@shikijs/transformers": "catalog:", "@shikijs/types": "catalog:", "@vitejs/plugin-vue": "catalog:", "@vue/language-core": "catalog:", - "esbuild": "catalog:", "is-core-module": "npm:@no-shims/is-core-module", "oxc-parser": "catalog:", "shiki": "catalog:", - "smartwrap": "npm:@no-shims/smartwrap", - "unconfig": "catalog:" + "smartwrap": "npm:@no-shims/smartwrap" }, "prettier": "@sxzz/prettier-config" } diff --git a/packages/api/package.json b/packages/api/package.json index 7e3c50c1a..f339cfa90 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@vue-macros/api", - "version": "3.0.0-beta.12", + "version": "3.0.0-beta.13", "description": "General API for Vue Macros.", "type": "module", "keywords": [ @@ -27,8 +27,8 @@ "files": [ "dist" ], - "main": "dist/index.js", - "module": "dist/index.js", + "main": "./dist/index.js", + "module": "./dist/index.js", "types": "./dist/index.d.ts", "exports": { ".": { @@ -45,10 +45,7 @@ }, "tag": "next" }, - "scripts": { - "build": "tsup", - "dev": "DEV=true tsup" - }, + "scripts": {}, "dependencies": { "@vue-macros/common": "workspace:*", "neverthrow": "catalog:", diff --git a/packages/api/tsdown.config.ts b/packages/api/tsdown.config.ts new file mode 100644 index 000000000..b84b0006e --- /dev/null +++ b/packages/api/tsdown.config.ts @@ -0,0 +1,6 @@ +import { defineConfig } from 'tsdown/config' + +export default defineConfig({ + entry: ['./src/index.ts'], + platform: 'node', +}) diff --git a/packages/api/tsup.config.ts b/packages/api/tsup.config.ts deleted file mode 100644 index 5bceee701..000000000 --- a/packages/api/tsup.config.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { config } from '../../tsup.config.js' - -export default config({ - onlyIndex: true, - platform: 'node', -}) diff --git a/packages/astro/package.json b/packages/astro/package.json index afda46299..5cc26d62c 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -1,6 +1,6 @@ { "name": "@vue-macros/astro", - "version": "3.0.0-beta.12", + "version": "3.0.0-beta.13", "description": "Astro integration of Vue Macros.", "type": "module", "keywords": [ @@ -30,9 +30,9 @@ "files": [ "dist" ], - "main": "dist/index.js", - "module": "dist/index.js", - "types": "dist/index.d.ts", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { ".": { "dev": "./src/index.ts", @@ -48,10 +48,7 @@ }, "tag": "next" }, - "scripts": { - "build": "tsup", - "dev": "DEV=true tsup" - }, + "scripts": {}, "peerDependencies": { "astro": "^2.0.0 || ^3.0.0 || ^4.0.0" }, diff --git a/packages/astro/tsdown.config.ts b/packages/astro/tsdown.config.ts new file mode 100644 index 000000000..31cab43a9 --- /dev/null +++ b/packages/astro/tsdown.config.ts @@ -0,0 +1,5 @@ +import { defineConfig } from 'tsdown/config' + +export default defineConfig({ + entry: ['./src/index.ts'], +}) diff --git a/packages/astro/tsup.config.ts b/packages/astro/tsup.config.ts deleted file mode 100644 index a0c7c2ba0..000000000 --- a/packages/astro/tsup.config.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { config } from '../../tsup.config.js' - -export default config({ - onlyIndex: true, -}) diff --git a/packages/better-define/package.json b/packages/better-define/package.json index 3f535345c..69cbb3870 100644 --- a/packages/better-define/package.json +++ b/packages/better-define/package.json @@ -1,6 +1,6 @@ { "name": "@vue-macros/better-define", - "version": "3.0.0-beta.12", + "version": "3.0.0-beta.13", "description": "betterDefine feature from Vue Macros.", "type": "module", "keywords": [ @@ -28,9 +28,9 @@ "files": [ "dist" ], - "main": "dist/index.js", - "module": "dist/index.js", - "types": "dist/index.d.ts", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { ".": { "dev": "./src/index.ts", @@ -89,10 +89,7 @@ }, "tag": "next" }, - "scripts": { - "build": "tsup", - "dev": "DEV=true tsup" - }, + "scripts": {}, "dependencies": { "@vue-macros/api": "workspace:*", "@vue-macros/common": "workspace:*", diff --git a/packages/better-define/tests/__snapshots__/fixtures.test.ts.snap b/packages/better-define/tests/__snapshots__/fixtures.test.ts.snap index fb852888e..317d06727 100644 --- a/packages/better-define/tests/__snapshots__/fixtures.test.ts.snap +++ b/packages/better-define/tests/__snapshots__/fixtures.test.ts.snap @@ -323,6 +323,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({ __name: "err", setup(__props, { expose: __expose }) { __expose(); + // @ts-expect-error const __returned__ = {}; Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, @@ -347,6 +348,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({ __name: "err", setup(__props, { expose: __expose }) { __expose(); + // @ts-expect-error const __returned__ = {}; Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, diff --git a/packages/better-define/tsdown.config.ts b/packages/better-define/tsdown.config.ts new file mode 100644 index 000000000..3d82d8e38 --- /dev/null +++ b/packages/better-define/tsdown.config.ts @@ -0,0 +1,5 @@ +import { defineConfig } from 'tsdown/config' + +export default defineConfig({ + platform: 'node', +}) diff --git a/packages/better-define/tsup.config.ts b/packages/better-define/tsup.config.ts deleted file mode 100644 index 9bb89a4cb..000000000 --- a/packages/better-define/tsup.config.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { config } from '../../tsup.config.js' - -export default config({ - platform: 'node', -}) diff --git a/packages/boolean-prop/package.json b/packages/boolean-prop/package.json index 602b37f99..64d419d7d 100644 --- a/packages/boolean-prop/package.json +++ b/packages/boolean-prop/package.json @@ -1,6 +1,6 @@ { "name": "@vue-macros/boolean-prop", - "version": "3.0.0-beta.12", + "version": "3.0.0-beta.13", "description": "booleanProp feature from Vue Macros.", "type": "module", "keywords": [ @@ -27,9 +27,9 @@ "files": [ "dist" ], - "main": "dist/index.js", - "module": "dist/index.js", - "types": "dist/index.d.ts", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { ".": { "dev": "./src/index.ts", @@ -73,10 +73,7 @@ }, "tag": "next" }, - "scripts": { - "build": "tsup", - "dev": "DEV=true tsup" - }, + "scripts": {}, "dependencies": { "@vue-macros/common": "workspace:*", "@vue/compiler-core": "catalog:" diff --git a/packages/boolean-prop/tsup.config.ts b/packages/boolean-prop/tsup.config.ts deleted file mode 100644 index e5efb9683..000000000 --- a/packages/boolean-prop/tsup.config.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { config } from '../../tsup.config.js' - -export default config() diff --git a/packages/chain-call/package.json b/packages/chain-call/package.json index 2a1d83a4a..c4ac73579 100644 --- a/packages/chain-call/package.json +++ b/packages/chain-call/package.json @@ -1,6 +1,6 @@ { "name": "@vue-macros/chain-call", - "version": "3.0.0-beta.12", + "version": "3.0.0-beta.13", "description": "chainCall feature from Vue Macros.", "type": "module", "keywords": [ @@ -29,9 +29,9 @@ "*.d.ts", "dist" ], - "main": "dist/index.js", - "module": "dist/index.js", - "types": "index.d.ts", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { ".": { "dev": "./src/index.ts", @@ -96,10 +96,7 @@ }, "tag": "next" }, - "scripts": { - "build": "tsup", - "dev": "DEV=true tsup" - }, + "scripts": {}, "dependencies": { "@vue-macros/common": "workspace:*", "unplugin": "catalog:" diff --git a/packages/chain-call/tsup.config.ts b/packages/chain-call/tsup.config.ts deleted file mode 100644 index e5efb9683..000000000 --- a/packages/chain-call/tsup.config.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { config } from '../../tsup.config.js' - -export default config() diff --git a/packages/common/package.json b/packages/common/package.json index 402b6dd11..ea03b1ad9 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@vue-macros/common", - "version": "3.0.0-beta.12", + "version": "3.0.0-beta.13", "description": "common feature from Vue Macros.", "type": "module", "keywords": [ @@ -27,8 +27,8 @@ "files": [ "dist" ], - "main": "dist/index.js", - "module": "dist/index.js", + "main": "./dist/index.js", + "module": "./dist/index.js", "types": "./dist/index.d.ts", "exports": { ".": { @@ -45,10 +45,7 @@ }, "tag": "next" }, - "scripts": { - "build": "tsup", - "dev": "DEV=true tsup" - }, + "scripts": {}, "peerDependencies": { "vue": "^2.7.0 || ^3.2.25" }, diff --git a/packages/common/tsdown.config.ts b/packages/common/tsdown.config.ts new file mode 100644 index 000000000..1459ed567 --- /dev/null +++ b/packages/common/tsdown.config.ts @@ -0,0 +1,6 @@ +import { defineConfig } from 'tsdown/config' + +export default defineConfig({ + entry: ['./src/index.ts'], + external: ['node:module'], +}) diff --git a/packages/common/tsup.config.ts b/packages/common/tsup.config.ts deleted file mode 100644 index 1926167bb..000000000 --- a/packages/common/tsup.config.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { config } from '../../tsup.config.js' - -export default config({ - onlyIndex: true, - shims: true, - external: ['node:module'], -}) diff --git a/packages/config/package.json b/packages/config/package.json index 717ec65a6..bd956a32e 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@vue-macros/config", - "version": "3.0.0-beta.12", + "version": "3.0.0-beta.13", "description": "Config API for Vue Macros.", "type": "module", "keywords": [ @@ -27,8 +27,8 @@ "files": [ "dist" ], - "main": "dist/index.js", - "module": "dist/index.js", + "main": "./dist/index.js", + "module": "./dist/index.js", "types": "./dist/index.d.ts", "exports": { ".": { @@ -68,10 +68,7 @@ }, "tag": "next" }, - "scripts": { - "build": "tsup", - "dev": "DEV=true tsup" - }, + "scripts": {}, "dependencies": { "@vue-macros/common": "workspace:*", "quansync": "catalog:", diff --git a/packages/config/tsdown.config.ts b/packages/config/tsdown.config.ts new file mode 100644 index 000000000..3d82d8e38 --- /dev/null +++ b/packages/config/tsdown.config.ts @@ -0,0 +1,5 @@ +import { defineConfig } from 'tsdown/config' + +export default defineConfig({ + platform: 'node', +}) diff --git a/packages/config/tsup.config.ts b/packages/config/tsup.config.ts deleted file mode 100644 index b8ab537d3..000000000 --- a/packages/config/tsup.config.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { config } from '../../tsup.config.js' - -export default config({ - shims: true, - platform: 'node', -}) diff --git a/packages/define-emit/package.json b/packages/define-emit/package.json index 89e542821..fe7992fae 100644 --- a/packages/define-emit/package.json +++ b/packages/define-emit/package.json @@ -1,6 +1,6 @@ { "name": "@vue-macros/define-emit", - "version": "3.0.0-beta.12", + "version": "3.0.0-beta.13", "description": "defineEmit feature from Vue Macros.", "type": "module", "keywords": [ @@ -29,9 +29,9 @@ "*.d.ts", "dist" ], - "main": "dist/index.js", - "module": "dist/index.js", - "types": "dist/index.d.ts", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { ".": { "dev": "./src/index.ts", @@ -96,10 +96,7 @@ }, "tag": "next" }, - "scripts": { - "build": "tsup", - "dev": "DEV=true tsup" - }, + "scripts": {}, "peerDependencies": { "vue": "^2.7.0 || ^3.2.25" }, diff --git a/packages/define-emit/tsdown.config.ts b/packages/define-emit/tsdown.config.ts new file mode 100644 index 000000000..3d82d8e38 --- /dev/null +++ b/packages/define-emit/tsdown.config.ts @@ -0,0 +1,5 @@ +import { defineConfig } from 'tsdown/config' + +export default defineConfig({ + platform: 'node', +}) diff --git a/packages/define-emit/tsup.config.ts b/packages/define-emit/tsup.config.ts deleted file mode 100644 index 9bb89a4cb..000000000 --- a/packages/define-emit/tsup.config.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { config } from '../../tsup.config.js' - -export default config({ - platform: 'node', -}) diff --git a/packages/define-models/package.json b/packages/define-models/package.json index c05186d3e..d75448de0 100644 --- a/packages/define-models/package.json +++ b/packages/define-models/package.json @@ -1,6 +1,6 @@ { "name": "@vue-macros/define-models", - "version": "3.0.0-beta.12", + "version": "3.0.0-beta.13", "description": "defineModels feature from Vue Macros.", "type": "module", "keywords": [ @@ -29,9 +29,9 @@ "*.d.ts", "dist" ], - "main": "dist/index.js", - "module": "dist/index.js", - "types": "dist/index.d.ts", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", "exports": { ".": { "dev": "./src/index.ts", @@ -96,10 +96,7 @@ }, "tag": "next" }, - "scripts": { - "build": "tsup", - "dev": "DEV=true tsup" - }, + "scripts": {}, "peerDependencies": { "@vueuse/core": ">=9.0.0" }, diff --git a/packages/define-models/tsdown.config.ts b/packages/define-models/tsdown.config.ts new file mode 100644 index 000000000..4a092a139 --- /dev/null +++ b/packages/define-models/tsdown.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'tsdown/config' + +export default defineConfig({ + unused: { + ignore: { peerDependencies: ['@vueuse/core'] }, + }, +}) diff --git a/packages/define-models/tsup.config.ts b/packages/define-models/tsup.config.ts deleted file mode 100644 index 8a939417b..000000000 --- a/packages/define-models/tsup.config.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { config } from '../../tsup.config.js' - -export default config({ - ignoreDeps: { - peerDependencies: ['@vueuse/core'], - }, -}) diff --git a/packages/define-options/package.json b/packages/define-options/package.json index 553fe98dc..f8e140630 100644 --- a/packages/define-options/package.json +++ b/packages/define-options/package.json @@ -1,6 +1,6 @@ { "name": "unplugin-vue-define-options", - "version": "3.0.0-beta.12", + "version": "3.0.0-beta.13", "description": "Add defineOptions macro for Vue