From 6bfb32cab209c8a790f12dc49a5b7d64fd9c18a8 Mon Sep 17 00:00:00 2001 From: Kevin Whitley Date: Wed, 14 Jun 2023 17:29:21 -0500 Subject: [PATCH] released v4.0.10-next.1 - included types in exports --- package.json | 57 ++++++++++++++++++++++++++++++++--------------- rollup.config.mjs | 36 ++++++++++++++++++++++++------ 2 files changed, 68 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index c55902a4..c3f02900 100644 --- a/package.json +++ b/package.json @@ -1,72 +1,93 @@ { "name": "itty-router", - "version": "4.0.10-next.0", + "version": "4.0.10-next.1", "description": "A tiny, zero-dependency router, designed to make beautiful APIs in any environment.", "type": "module", - "main": "./dist/index.cjs.js", - "module": "./dist/index.js", + "main": "dist/index.cjs.js", + "module": "dist/index.js", + "types": "dist/index.d.ts", "exports": { ".": { "import": "./dist/index.js", - "require": "./dist/index.cjs.js" + "require": "./dist/index.cjs.js", + "types": "./dist/index.d.ts" }, "./createCors": { "import": "./dist/createCors.js", - "require": "./dist/createCors.cjs.js" + "require": "./dist/createCors.cjs.js", + "types": "./dist/createCors.d.ts" }, "./createResponse": { "import": "./dist/createResponse.js", - "require": "./dist/createResponse.cjs.js" + "require": "./dist/createResponse.cjs.js", + "types": "./dist/createResponse.d.ts" }, "./error": { "import": "./dist/error.js", - "require": "./dist/error.cjs.js" + "require": "./dist/error.cjs.js", + "types": "./dist/error.d.ts" }, "./html": { "import": "./dist/html.js", - "require": "./dist/html.cjs.js" + "require": "./dist/html.cjs.js", + "types": "./dist/html.d.ts" }, "./jpeg": { "import": "./dist/jpeg.js", - "require": "./dist/jpeg.cjs.js" + "require": "./dist/jpeg.cjs.js", + "types": "./dist/jpeg.d.ts" }, "./png": { "import": "./dist/png.js", - "require": "./dist/png.cjs.js" + "require": "./dist/png.cjs.js", + "types": "./dist/png.d.ts" }, "./Router": { "import": "./dist/Router.js", - "require": "./dist/Router.cjs.js" + "require": "./dist/Router.cjs.js", + "types": "./dist/Router.d.ts" }, "./status": { "import": "./dist/status.js", - "require": "./dist/status.cjs.js" + "require": "./dist/status.cjs.js", + "types": "./dist/status.d.ts" }, "./text": { "import": "./dist/text.js", - "require": "./dist/text.cjs.js" + "require": "./dist/text.cjs.js", + "types": "./dist/text.d.ts" }, "./webp": { "import": "./dist/webp.js", - "require": "./dist/webp.cjs.js" + "require": "./dist/webp.cjs.js", + "types": "./dist/webp.d.ts" }, "./websocket": { "import": "./dist/websocket.js", - "require": "./dist/websocket.cjs.js" + "require": "./dist/websocket.cjs.js", + "types": "./dist/websocket.d.ts" }, "./withContent": { "import": "./dist/withContent.js", - "require": "./dist/withContent.cjs.js" + "require": "./dist/withContent.cjs.js", + "types": "./dist/withContent.d.ts" }, "./withCookies": { "import": "./dist/withCookies.js", - "require": "./dist/withCookies.cjs.js" + "require": "./dist/withCookies.cjs.js", + "types": "./dist/withCookies.d.ts" }, "./withParams": { "import": "./dist/withParams.js", - "require": "./dist/withParams.cjs.js" + "require": "./dist/withParams.cjs.js", + "types": "./dist/withParams.d.ts" } }, + "files": [ + "dist", + "README.md", + "LICENSE" + ], "keywords": [ "api", "router", diff --git a/rollup.config.mjs b/rollup.config.mjs index 84871d18..bab66421 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -2,25 +2,39 @@ import terser from '@rollup/plugin-terser' import typescript from '@rollup/plugin-typescript' import { globby } from 'globby' import bundleSize from 'rollup-plugin-bundle-size' +import copy from 'rollup-plugin-copy' export default async () => { - const files = await globby('./src/*.ts', { + const files = (await globby('./src/*.ts', { ignore: ['**/*.spec.ts', 'example'], - }) + })).map(path => ({ + path, + shortPath: path.replace(/(\/src)|(\.ts)/g, '').replace('./index', '.'), + esm: path.replace('/src/', '/dist/').replace('.ts', '.js'), + cjs: path.replace('/src/', '/dist/').replace('.ts', '.cjs.js'), + types: path.replace('/src/', '/dist/').replace('.ts', '.d.ts'), + })) + + console.log(files.map(f => f.path)) - console.log({ files }) + // const exportInjection = files.map(({ shortPath, esm, cjs, types }) => ` + // "${shortPath}": { + // "import": "${esm}", + // "require": "${cjs}", + // "types": "${types}", + // }`).join(',\n') - return files.map((path) => ({ - input: path, + return files.map(file => ({ + input: file.path, output: [ { format: 'esm', - file: path.replace('/src/', '/dist/').replace('.ts', '.js'), + file: file.esm, // sourcemap: true, }, { format: 'cjs', - file: path.replace('/src/', '/dist/').replace('.ts', '.cjs.js'), + file: file.cjs, // sourcemap: true, }, ], @@ -28,6 +42,14 @@ export default async () => { typescript({ sourceMap: false }), terser(), bundleSize(), + copy({ + targets: [ + { + src: ['LICENSE'], + dest: 'dist', + }, + ], + }), ], })) }