Skip to content

Commit

Permalink
not emitting as many type files
Browse files Browse the repository at this point in the history
  • Loading branch information
kwhitley committed Apr 9, 2024
1 parent 275ce93 commit bb102d8
Show file tree
Hide file tree
Showing 7 changed files with 120 additions and 35 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Changelog

- **v5.0.11**
- **v5.0.12**
- fixed: ./types was not being properly exported
- **v5.0.10**
- fixed: response formatters in finally stage could still cross pollute headers in Node
Expand Down
44 changes: 20 additions & 24 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,107 +4,102 @@
"description": "A tiny, zero-dependency router, designed to make beautiful APIs in any environment.",
"main": "./index.js",
"module": "./index.mjs",
"types": "./index.d.ts",
"types": "./types.d.ts",
"exports": {
".": {
"import": "./index.mjs",
"require": "./index.js",
"types": "./index.d.ts"
"types": "./types.d.ts"
},
"./AutoRouter": {
"import": "./AutoRouter.mjs",
"require": "./AutoRouter.js",
"types": "./AutoRouter.d.ts"
"types": "./types.d.ts"
},
"./cors": {
"import": "./cors.mjs",
"require": "./cors.js",
"types": "./cors.d.ts"
"types": "./types.d.ts"
},
"./createResponse": {
"import": "./createResponse.mjs",
"require": "./createResponse.js",
"types": "./createResponse.d.ts"
"types": "./types.d.ts"
},
"./error": {
"import": "./error.mjs",
"require": "./error.js",
"types": "./error.d.ts"
"types": "./types.d.ts"
},
"./html": {
"import": "./html.mjs",
"require": "./html.js",
"types": "./html.d.ts"
"types": "./types.d.ts"
},
"./IttyRouter": {
"import": "./IttyRouter.mjs",
"require": "./IttyRouter.js",
"types": "./IttyRouter.d.ts"
"types": "./types.d.ts"
},
"./jpeg": {
"import": "./jpeg.mjs",
"require": "./jpeg.js",
"types": "./jpeg.d.ts"
"types": "./types.d.ts"
},
"./json": {
"import": "./json.mjs",
"require": "./json.js",
"types": "./json.d.ts"
"types": "./types.d.ts"
},
"./png": {
"import": "./png.mjs",
"require": "./png.js",
"types": "./png.d.ts"
"types": "./types.d.ts"
},
"./Router": {
"import": "./Router.mjs",
"require": "./Router.js",
"types": "./Router.d.ts"
"types": "./types.d.ts"
},
"./status": {
"import": "./status.mjs",
"require": "./status.js",
"types": "./status.d.ts"
"types": "./types.d.ts"
},
"./StatusError": {
"import": "./StatusError.mjs",
"require": "./StatusError.js",
"types": "./StatusError.d.ts"
"types": "./types.d.ts"
},
"./text": {
"import": "./text.mjs",
"require": "./text.js",
"types": "./text.d.ts"
},
"./types": {
"import": "./types.mjs",
"require": "./types.js",
"types": "./types.d.ts"
},
"./webp": {
"import": "./webp.mjs",
"require": "./webp.js",
"types": "./webp.d.ts"
"types": "./types.d.ts"
},
"./websocket": {
"import": "./websocket.mjs",
"require": "./websocket.js",
"types": "./websocket.d.ts"
"types": "./types.d.ts"
},
"./withContent": {
"import": "./withContent.mjs",
"require": "./withContent.js",
"types": "./withContent.d.ts"
"types": "./types.d.ts"
},
"./withCookies": {
"import": "./withCookies.mjs",
"require": "./withCookies.js",
"types": "./withCookies.d.ts"
"types": "./types.d.ts"
},
"./withParams": {
"import": "./withParams.mjs",
"require": "./withParams.js",
"types": "./withParams.d.ts"
"types": "./types.d.ts"
}
},
"keywords": [
Expand Down Expand Up @@ -171,6 +166,7 @@
"rollup": "^4.14.1",
"rollup-plugin-bundle-size": "^1.0.3",
"rollup-plugin-copy": "^3.5.0",
"rollup-plugin-dts": "^6.1.0",
"rollup-plugin-multi-input": "^1.4.1",
"typescript": "^5.4.4",
"vite": "^5.2.8",
Expand Down
23 changes: 18 additions & 5 deletions rollup.config.mjs
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
import terser from '@rollup/plugin-terser'
import typescript from '@rollup/plugin-typescript'
import fs from 'fs-extra'
import { globby } from 'globby'
import bundleSize from 'rollup-plugin-bundle-size'
import copy from 'rollup-plugin-copy'
import fs from 'fs-extra'
import { dts } from 'rollup-plugin-dts'

// scan files to build
const files = (await globby('./src/*.ts', {
ignore: ['**/*.spec.ts', 'examples'],
ignore: ['**/*.spec.ts', 'examples', '**/types', 'src/types.d.ts'],
})).map(path => ({
path,
shortPath: path.replace(/(\/src)|(\.ts)/g, '').replace('./index', '.'),
esm: path.replace('/src/', '/dist/').replace('.ts', '.mjs'),
cjs: path.replace('/src/', '/dist/').replace('.ts', '.js'),
types: path.replace('/src/', '/dist/').replace('.ts', '.d.ts'),
// types: path.replace('/src/', '/dist/').replace('.ts', '.d.ts'),
})).sort((a, b) => a.shortPath.toLowerCase() < b.shortPath.toLowerCase() ? -1 : 1)


Expand All @@ -25,7 +26,7 @@ pkg.exports = files.reduce((acc, file) => {
acc[file.shortPath] = {
import: file.esm.replace('/dist', ''),
require: file.cjs.replace('/dist', ''),
types: file.types.replace('/dist', ''),
types: './types.d.ts',
}

return acc
Expand All @@ -37,7 +38,8 @@ await fs.writeJSON('./package.json', pkg, { spaces: 2 })
export default async () => {
console.log(files.map(f => f.path))

return files.map(file => ({
// export base files
const baseFiles = files.map(file => ({
input: file.path,
output: [
{
Expand Down Expand Up @@ -65,4 +67,15 @@ export default async () => {
}),
],
}))

// export and bundle types here
const types = [
{
input: './src/types.d.ts',
output: [{ file: 'dist/types.d.ts', format: 'es' }],
plugins: [ dts() ],
}
]

return [...types, ...baseFiles]
}
3 changes: 0 additions & 3 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,3 @@ export * from './withParams'

// CORS
export * from './cors'

// TYPES
export * from './types'
File renamed without changes.
4 changes: 2 additions & 2 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"allowJs": true,
"allowSyntheticDefaultImports": true,
"baseUrl": "src",
"declaration": true,
"sourceMap": true,
"declaration": false, // true (default)
"sourceMap": false, // true (default)
"esModuleInterop": true,
"inlineSourceMap": false,
"lib": ["esnext", "dom", "dom.iterable"],
Expand Down
79 changes: 79 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,14 @@
"@jridgewell/gen-mapping" "^0.3.0"
"@jridgewell/trace-mapping" "^0.3.9"

"@babel/code-frame@^7.22.13":
version "7.24.2"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae"
integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==
dependencies:
"@babel/highlight" "^7.24.2"
picocolors "^1.0.0"

"@babel/helper-string-parser@^7.23.4":
version "7.23.4"
resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz"
Expand All @@ -25,6 +33,16 @@
resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz"
integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==

"@babel/highlight@^7.24.2":
version "7.24.2"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26"
integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==
dependencies:
"@babel/helper-validator-identifier" "^7.22.20"
chalk "^2.4.2"
js-tokens "^4.0.0"
picocolors "^1.0.0"

"@babel/parser@^7.23.6":
version "7.24.0"
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz"
Expand Down Expand Up @@ -958,6 +976,13 @@ ansi-styles@^2.2.1:
resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"
integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==

ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
dependencies:
color-convert "^1.9.0"

ansi-styles@^4.0.0:
version "4.3.0"
resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
Expand Down Expand Up @@ -1127,6 +1152,15 @@ chalk@^1.0.0, chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"

chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
dependencies:
ansi-styles "^3.2.1"
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"

chalk@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz"
Expand Down Expand Up @@ -1167,13 +1201,25 @@ cli-width@^3.0.0:
resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz"
integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==

color-convert@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
dependencies:
color-name "1.1.3"

color-convert@^2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
dependencies:
color-name "~1.1.4"

[email protected]:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==

color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
Expand Down Expand Up @@ -1886,6 +1932,11 @@ has-ansi@^2.0.0:
dependencies:
ansi-regex "^2.0.0"

has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==

has-flag@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
Expand Down Expand Up @@ -2118,6 +2169,11 @@ jackspeak@^2.3.5:
optionalDependencies:
"@pkgjs/parseargs" "^0.11.0"

js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==

js-tokens@^8.0.2:
version "8.0.3"
resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz"
Expand Down Expand Up @@ -2283,6 +2339,13 @@ lru-cache@^6.0.0:
resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz"
integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==

magic-string@^0.30.4:
version "0.30.9"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.9.tgz#8927ae21bfdd856310e07a1bc8dd5e73cb6c251d"
integrity sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==
dependencies:
"@jridgewell/sourcemap-codec" "^1.4.15"

magic-string@^0.30.5:
version "0.30.8"
resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz"
Expand Down Expand Up @@ -2779,6 +2842,15 @@ rollup-plugin-copy@^3.5.0:
globby "10.0.1"
is-plain-object "^3.0.0"

rollup-plugin-dts@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/rollup-plugin-dts/-/rollup-plugin-dts-6.1.0.tgz#56e9c5548dac717213c6a4aa9df523faf04f75ae"
integrity sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==
dependencies:
magic-string "^0.30.4"
optionalDependencies:
"@babel/code-frame" "^7.22.13"

rollup-plugin-multi-input@^1.4.1:
version "1.4.1"
resolved "https://registry.npmjs.org/rollup-plugin-multi-input/-/rollup-plugin-multi-input-1.4.1.tgz"
Expand Down Expand Up @@ -3062,6 +3134,13 @@ supports-color@^2.0.0:
resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==

supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
dependencies:
has-flag "^3.0.0"

supports-color@^7.1.0:
version "7.1.0"
resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz"
Expand Down

0 comments on commit bb102d8

Please sign in to comment.