From 9639103a9ae711707f240376ee7fed4d0e77b121 Mon Sep 17 00:00:00 2001 From: Andrei Date: Sat, 28 Sep 2024 04:33:30 +0200 Subject: [PATCH] fix(valibot-validator): use `tsup` and fix esm/cjs (#753) * fix(valibot-validator): use `tsup` and fix esm/cjs * chore(valibot-validator): remove build tsconfigs * chore(.changeset): add changeset * fix(valibot-validator): replace jest config extension with `.cjs` --- .changeset/violet-tools-flow.md | 5 ++ .../{jest.config.js => jest.config.cjs} | 0 packages/valibot-validator/package.json | 18 +++-- packages/valibot-validator/tsconfig.cjs.json | 8 --- packages/valibot-validator/tsconfig.esm.json | 8 --- packages/valibot-validator/tsup.config.ts | 9 +++ yarn.lock | 72 ++++++++++++++++++- 7 files changed, 96 insertions(+), 24 deletions(-) create mode 100644 .changeset/violet-tools-flow.md rename packages/valibot-validator/{jest.config.js => jest.config.cjs} (100%) delete mode 100644 packages/valibot-validator/tsconfig.cjs.json delete mode 100644 packages/valibot-validator/tsconfig.esm.json create mode 100644 packages/valibot-validator/tsup.config.ts diff --git a/.changeset/violet-tools-flow.md b/.changeset/violet-tools-flow.md new file mode 100644 index 00000000..09f5b6f8 --- /dev/null +++ b/.changeset/violet-tools-flow.md @@ -0,0 +1,5 @@ +--- +'@hono/valibot-validator': patch +--- + +Fix ESM/CJS exports and use `tsup` for building diff --git a/packages/valibot-validator/jest.config.js b/packages/valibot-validator/jest.config.cjs similarity index 100% rename from packages/valibot-validator/jest.config.js rename to packages/valibot-validator/jest.config.cjs diff --git a/packages/valibot-validator/package.json b/packages/valibot-validator/package.json index e8e8fb49..ce298a94 100644 --- a/packages/valibot-validator/package.json +++ b/packages/valibot-validator/package.json @@ -2,17 +2,21 @@ "name": "@hono/valibot-validator", "version": "0.3.0", "description": "Validator middleware using Valibot", - "main": "dist/cjs/index.js", - "module": "dist/esm/index.js", - "types": "dist/esm/index.d.ts", + "type": "module", + "main": "dist/index.js", + "exports": { + "./package.json": "./package.json", + ".": { + "import": "./dist/index.js", + "default": "./dist/index.cjs" + } + }, "files": [ "dist" ], "scripts": { "test": "jest", - "build:cjs": "tsc -p tsconfig.cjs.json", - "build:esm": "tsc -p tsconfig.esm.json", - "build": "rimraf dist && yarn build:cjs && yarn build:esm", + "build": "tsup", "prerelease": "yarn build && yarn test", "release": "yarn publish" }, @@ -33,7 +37,7 @@ "devDependencies": { "hono": "^4.5.1", "jest": "^29.7.0", - "rimraf": "^5.0.5", + "tsup": "^8.3.0", "valibot": "^0.31.0" } } diff --git a/packages/valibot-validator/tsconfig.cjs.json b/packages/valibot-validator/tsconfig.cjs.json deleted file mode 100644 index b8bf50ee..00000000 --- a/packages/valibot-validator/tsconfig.cjs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "module": "CommonJS", - "declaration": false, - "outDir": "./dist/cjs" - } -} \ No newline at end of file diff --git a/packages/valibot-validator/tsconfig.esm.json b/packages/valibot-validator/tsconfig.esm.json deleted file mode 100644 index 8130f1a5..00000000 --- a/packages/valibot-validator/tsconfig.esm.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "module": "ESNext", - "declaration": true, - "outDir": "./dist/esm" - } -} \ No newline at end of file diff --git a/packages/valibot-validator/tsup.config.ts b/packages/valibot-validator/tsup.config.ts new file mode 100644 index 00000000..b3b7e42d --- /dev/null +++ b/packages/valibot-validator/tsup.config.ts @@ -0,0 +1,9 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entryPoints: ["src/index.ts"], + format: ["cjs", "esm"], + dts: true, + outDir: "dist", + clean: true, +}); \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index fa458a5e..2d85b599 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2686,7 +2686,7 @@ __metadata: dependencies: hono: "npm:^4.5.1" jest: "npm:^29.7.0" - rimraf: "npm:^5.0.5" + tsup: "npm:^8.3.0" valibot: "npm:^0.31.0" peerDependencies: hono: ">=3.9.0" @@ -9749,6 +9749,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.3.0": + version: 6.3.0 + resolution: "fdir@npm:6.3.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: be91cd6ab2edbc6df457a69b79672ee9345996986821918ef01908ce9619b8cbecd9c6c13d4ca5d0aeb548b162050d68c599f45bb3fbff194a91e16f25e646b5 + languageName: node + linkType: hard + "fecha@npm:^4.2.0": version: 4.2.3 resolution: "fecha@npm:4.2.3" @@ -16092,6 +16104,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + "pidtree@npm:^0.6.0": version: 0.6.0 resolution: "pidtree@npm:0.6.0" @@ -18566,6 +18585,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.1": + version: 0.2.6 + resolution: "tinyglobby@npm:0.2.6" + dependencies: + fdir: "npm:^6.3.0" + picomatch: "npm:^4.0.2" + checksum: d7b5eb4c5b9c341f961c1d3c30624f9a1e22b27b48a79a65b48120245a77c143827f75f5854628fef1a4bd4bc3cfaf06ce76497f3a574e3f933229c5e556e5fe + languageName: node + linkType: hard + "tinypool@npm:^0.7.0": version: 0.7.0 resolution: "tinypool@npm:0.7.0" @@ -19080,6 +19109,47 @@ __metadata: languageName: node linkType: hard +"tsup@npm:^8.3.0": + version: 8.3.0 + resolution: "tsup@npm:8.3.0" + dependencies: + bundle-require: "npm:^5.0.0" + cac: "npm:^6.7.14" + chokidar: "npm:^3.6.0" + consola: "npm:^3.2.3" + debug: "npm:^4.3.5" + esbuild: "npm:^0.23.0" + execa: "npm:^5.1.1" + joycon: "npm:^3.1.1" + picocolors: "npm:^1.0.1" + postcss-load-config: "npm:^6.0.1" + resolve-from: "npm:^5.0.0" + rollup: "npm:^4.19.0" + source-map: "npm:0.8.0-beta.0" + sucrase: "npm:^3.35.0" + tinyglobby: "npm:^0.2.1" + tree-kill: "npm:^1.2.2" + peerDependencies: + "@microsoft/api-extractor": ^7.36.0 + "@swc/core": ^1 + postcss: ^8.4.12 + typescript: ">=4.5.0" + peerDependenciesMeta: + "@microsoft/api-extractor": + optional: true + "@swc/core": + optional: true + postcss: + optional: true + typescript: + optional: true + bin: + tsup: dist/cli-default.js + tsup-node: dist/cli-node.js + checksum: 7f7132e48fca2284fd721077c6462c440dabdc95bcacf2e9837f81d2ca9771f804ff4f8b81a743e8fc6c3def856cf3ae99421c0568a7f030196abdc9e12e97e8 + languageName: node + linkType: hard + "tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0"