Skip to content

Commit

Permalink
fix: add types for both esm and cjs
Browse files Browse the repository at this point in the history
  • Loading branch information
sxzz committed Jul 7, 2023
1 parent 0a6e741 commit 1bfca25
Show file tree
Hide file tree
Showing 31 changed files with 599 additions and 188 deletions.
30 changes: 30 additions & 0 deletions .changeset/lazy-plants-smile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
'@vue-macros/reactivity-transform': patch
'@vue-macros/define-props-refs': patch
'@vue-macros/setup-component': patch
'unplugin-vue-define-options': patch
'@vue-macros/named-template': patch
'@vue-macros/better-define': patch
'@vue-macros/define-models': patch
'@vue-macros/define-render': patch
'@vue-macros/export-expose': patch
'@vue-macros/define-props': patch
'@vue-macros/define-slots': patch
'@vue-macros/export-props': patch
'@vue-macros/hoist-static': patch
'@vue-macros/short-vmodel': patch
'@vue-macros/define-emit': patch
'@vue-macros/setup-block': patch
'@vue-macros/short-emits': patch
'@vue-macros/chain-call': patch
'@vue-macros/test-utils': patch
'@vue-macros/setup-sfc': patch
'@vue-macros/devtools': patch
'@vue-macros/common': patch
'unplugin-vue-macros': patch
'@vue-macros/volar': patch
'@vue-macros/nuxt': patch
'@vue-macros/api': patch
---

add types for both esm and cjs
83 changes: 48 additions & 35 deletions monoman.config.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import path from 'node:path'
import { readFile, readdir } from 'node:fs/promises'
import { readFile } from 'node:fs/promises'
import { existsSync } from 'node:fs'
import { defineConfig } from 'monoman'
import { type Options } from 'tsup'
import fg from 'fast-glob'

function getPkgName(filepath: string) {
const relative = path.relative(process.cwd(), filepath)
Expand All @@ -13,6 +16,8 @@ export default defineConfig([
include: ['packages/*/package.json'],
type: 'json',
async write(data: Record<string, any>, { filepath }) {
const pkgRoot = path.resolve(filepath, '..')
const pkgSrc = path.resolve(pkgRoot, 'src')
const pkgName = getPkgName(filepath)

const descriptions: Record<string, string> = {
Expand Down Expand Up @@ -52,47 +57,55 @@ export default defineConfig([
data.author = '三咲智子 <sxzz@sxzz.moe>'
data.engines = { node: '>=16.14.0' }

if (Object.keys(data.dependencies || {}).includes('unplugin')) {
const files = (
await readdir(path.resolve(filepath, '../src'), {
withFileTypes: true,
const tsupFile = path.resolve(pkgRoot, 'tsup.config.ts')
if (!data.meta?.skipExports && existsSync(tsupFile)) {
const tsupConfig: Options = await import(tsupFile)
const entries = (
await fg(tsupConfig.entry as string[], {
cwd: pkgRoot,
absolute: true,
})
)
.map((file) => {
if (!file.isFile()) return undefined
const name = path.basename(file.name, '.ts')
if (name === 'index') return undefined
return name
})
.filter((n): n is string => !!n)
.sort()
).map((file) => path.basename(path.relative(pkgSrc, file), '.ts'))

data.keywords.push('unplugin')
data.exports = {
'.': {
dev: './src/index.ts',
types: './dist/index.d.ts',
require: './dist/index.js',
import: './dist/index.mjs',
},
...Object.fromEntries(
files.map((file) => [
`./${file}`,
{
dev: `./src/${file}.ts`,
types: `./dist/${file}.d.ts`,
require: `./dist/${file}.js`,
import: `./dist/${file}.mjs`,
},
])
entries
.map((entry) => {
const key = entry === 'index' ? '.' : `./${entry}`
return [
key,
{
dev: `./src/${entry}.ts`,
types: {
require: `./dist/${entry}.d.ts`,
import: `./dist/${entry}.d.mts`,
},
require: `./dist/${entry}.js`,
import: `./dist/${entry}.mjs`,
},
] as const
})
.sort(([a], [b]) => a.localeCompare(b))
),
'./*': ['./*', './*.d.ts'],
}
data.typesVersions = {
'*': {
'*': ['./dist/*', './*'],
},
}

const onlyIndex = entries.length === 1 && entries[0] === 'index'

if (onlyIndex) delete data.typesVersions
else
data.typesVersions = {
'*': {
'*': ['./dist/*', './*'],
},
}
}

if (
Object.keys(data.dependencies || {}).includes('unplugin') ||
data?.meta?.plugin
) {
data.keywords.push('unplugin')
}

return data
Expand Down
10 changes: 8 additions & 2 deletions packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,17 @@
"exports": {
".": {
"dev": "./src/index.ts",
"types": "./dist/index.d.ts",
"types": {
"require": "./dist/index.d.ts",
"import": "./dist/index.d.mts"
},
"require": "./dist/index.js",
"import": "./dist/index.mjs"
},
"./*": "./*"
"./*": [
"./*",
"./*.d.ts"
]
},
"scripts": {
"build": "tsup && tsx ../../scripts/postbuild.ts",
Expand Down
7 changes: 6 additions & 1 deletion packages/api/tsup.config.ts
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
export { default } from '../../tsup.config.js'
import config from '../../tsup.config.js'

export default {
...config,
entry: ['./src/index.ts'],
}
30 changes: 24 additions & 6 deletions packages/better-define/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,37 +33,55 @@
"exports": {
".": {
"dev": "./src/index.ts",
"types": "./dist/index.d.ts",
"types": {
"require": "./dist/index.d.ts",
"import": "./dist/index.d.mts"
},
"require": "./dist/index.js",
"import": "./dist/index.mjs"
},
"./api": {
"dev": "./src/api.ts",
"types": "./dist/api.d.ts",
"types": {
"require": "./dist/api.d.ts",
"import": "./dist/api.d.mts"
},
"require": "./dist/api.js",
"import": "./dist/api.mjs"
},
"./esbuild": {
"dev": "./src/esbuild.ts",
"types": "./dist/esbuild.d.ts",
"types": {
"require": "./dist/esbuild.d.ts",
"import": "./dist/esbuild.d.mts"
},
"require": "./dist/esbuild.js",
"import": "./dist/esbuild.mjs"
},
"./rollup": {
"dev": "./src/rollup.ts",
"types": "./dist/rollup.d.ts",
"types": {
"require": "./dist/rollup.d.ts",
"import": "./dist/rollup.d.mts"
},
"require": "./dist/rollup.js",
"import": "./dist/rollup.mjs"
},
"./vite": {
"dev": "./src/vite.ts",
"types": "./dist/vite.d.ts",
"types": {
"require": "./dist/vite.d.ts",
"import": "./dist/vite.d.mts"
},
"require": "./dist/vite.js",
"import": "./dist/vite.mjs"
},
"./webpack": {
"dev": "./src/webpack.ts",
"types": "./dist/webpack.d.ts",
"types": {
"require": "./dist/webpack.d.ts",
"import": "./dist/webpack.d.mts"
},
"require": "./dist/webpack.js",
"import": "./dist/webpack.mjs"
},
Expand Down
30 changes: 24 additions & 6 deletions packages/chain-call/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,37 +33,55 @@
"exports": {
".": {
"dev": "./src/index.ts",
"types": "./dist/index.d.ts",
"types": {
"require": "./dist/index.d.ts",
"import": "./dist/index.d.mts"
},
"require": "./dist/index.js",
"import": "./dist/index.mjs"
},
"./api": {
"dev": "./src/api.ts",
"types": "./dist/api.d.ts",
"types": {
"require": "./dist/api.d.ts",
"import": "./dist/api.d.mts"
},
"require": "./dist/api.js",
"import": "./dist/api.mjs"
},
"./esbuild": {
"dev": "./src/esbuild.ts",
"types": "./dist/esbuild.d.ts",
"types": {
"require": "./dist/esbuild.d.ts",
"import": "./dist/esbuild.d.mts"
},
"require": "./dist/esbuild.js",
"import": "./dist/esbuild.mjs"
},
"./rollup": {
"dev": "./src/rollup.ts",
"types": "./dist/rollup.d.ts",
"types": {
"require": "./dist/rollup.d.ts",
"import": "./dist/rollup.d.mts"
},
"require": "./dist/rollup.js",
"import": "./dist/rollup.mjs"
},
"./vite": {
"dev": "./src/vite.ts",
"types": "./dist/vite.d.ts",
"types": {
"require": "./dist/vite.d.ts",
"import": "./dist/vite.d.mts"
},
"require": "./dist/vite.js",
"import": "./dist/vite.mjs"
},
"./webpack": {
"dev": "./src/webpack.ts",
"types": "./dist/webpack.d.ts",
"types": {
"require": "./dist/webpack.d.ts",
"import": "./dist/webpack.d.mts"
},
"require": "./dist/webpack.js",
"import": "./dist/webpack.mjs"
},
Expand Down
10 changes: 8 additions & 2 deletions packages/common/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,17 @@
"exports": {
".": {
"dev": "./src/index.ts",
"types": "./dist/index.d.ts",
"types": {
"require": "./dist/index.d.ts",
"import": "./dist/index.d.mts"
},
"require": "./dist/index.js",
"import": "./dist/index.mjs"
},
"./*": "./*"
"./*": [
"./*",
"./*.d.ts"
]
},
"scripts": {
"build": "tsup && tsx ../../scripts/postbuild.ts",
Expand Down
7 changes: 6 additions & 1 deletion packages/common/tsup.config.ts
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
export { default } from '../../tsup.config.js'
import config from '../../tsup.config.js'

export default {
...config,
entry: ['./src/index.ts'],
}
30 changes: 24 additions & 6 deletions packages/define-emit/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,37 +34,55 @@
"exports": {
".": {
"dev": "./src/index.ts",
"types": "./dist/index.d.ts",
"types": {
"require": "./dist/index.d.ts",
"import": "./dist/index.d.mts"
},
"require": "./dist/index.js",
"import": "./dist/index.mjs"
},
"./api": {
"dev": "./src/api.ts",
"types": "./dist/api.d.ts",
"types": {
"require": "./dist/api.d.ts",
"import": "./dist/api.d.mts"
},
"require": "./dist/api.js",
"import": "./dist/api.mjs"
},
"./esbuild": {
"dev": "./src/esbuild.ts",
"types": "./dist/esbuild.d.ts",
"types": {
"require": "./dist/esbuild.d.ts",
"import": "./dist/esbuild.d.mts"
},
"require": "./dist/esbuild.js",
"import": "./dist/esbuild.mjs"
},
"./rollup": {
"dev": "./src/rollup.ts",
"types": "./dist/rollup.d.ts",
"types": {
"require": "./dist/rollup.d.ts",
"import": "./dist/rollup.d.mts"
},
"require": "./dist/rollup.js",
"import": "./dist/rollup.mjs"
},
"./vite": {
"dev": "./src/vite.ts",
"types": "./dist/vite.d.ts",
"types": {
"require": "./dist/vite.d.ts",
"import": "./dist/vite.d.mts"
},
"require": "./dist/vite.js",
"import": "./dist/vite.mjs"
},
"./webpack": {
"dev": "./src/webpack.ts",
"types": "./dist/webpack.d.ts",
"types": {
"require": "./dist/webpack.d.ts",
"import": "./dist/webpack.d.mts"
},
"require": "./dist/webpack.js",
"import": "./dist/webpack.mjs"
},
Expand Down

0 comments on commit 1bfca25

Please sign in to comment.