From afad59e0ab3d81d49dea7d64e9ee54c1f6ddc7e3 Mon Sep 17 00:00:00 2001 From: xion Date: Fri, 18 Apr 2025 01:16:06 +0800 Subject: [PATCH] feat: update to 0.0.12 --- mod.ts | 13 +++++++++++++ package.json | 32 +++++++++++++++++++++----------- rollup.config.js | 35 +++++++++++++++++++++++++++++++++-- src/app.ts | 2 ++ src/mod.ts | 13 ------------- src/server/ws-server.ts | 2 ++ tsconfig.json | 3 ++- 7 files changed, 73 insertions(+), 27 deletions(-) create mode 100644 mod.ts delete mode 100644 src/mod.ts diff --git a/mod.ts b/mod.ts new file mode 100644 index 0000000..0771642 --- /dev/null +++ b/mod.ts @@ -0,0 +1,13 @@ +import { Route, QueryRouter, QueryRouterServer } from './src/route.ts'; + +export { App } from './src/app.ts'; + +export { Route, QueryRouter, QueryRouterServer }; + +export { Rule, Schema, createSchema } from './src/validator/index.ts'; + +export type { RouteContext, RouteOpts } from './src/route.ts'; + +export type { Run } from './src/route.ts'; + +export { CustomError } from './src/result/error.ts'; diff --git a/package.json b/package.json index 966b653..f655b60 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,11 @@ { "$schema": "https://json.schemastore.org/package", "name": "@kevisual/router", - "version": "0.0.11", + "version": "0.0.12", "description": "", "type": "module", + "main": "./dist/router.js", + "types": "./dist/router.d.ts", "scripts": { "build": "npm run clean && rollup -c", "build:app": "npm run build && rsync dist/*browser* ../deploy/dist", @@ -12,12 +14,14 @@ }, "files": [ "dist", - "src" + "src", + "mod.ts" ], "keywords": [], "author": "abearxiong", "license": "MIT", "devDependencies": { + "@rollup/plugin-alias": "^5.1.1", "@rollup/plugin-commonjs": "^28.0.3", "@rollup/plugin-node-resolve": "^16.0.1", "@rollup/plugin-typescript": "^12.1.2", @@ -34,6 +38,7 @@ "ts-node": "^10.9.2", "tslib": "^2.8.1", "typescript": "^5.8.3", + "ws": "npm:@kevisual/ws", "xml2js": "^0.6.2", "zod": "^3.24.3" }, @@ -43,8 +48,7 @@ }, "dependencies": { "path-to-regexp": "^8.2.0", - "selfsigned": "^2.4.1", - "ws": "^8.18.1" + "selfsigned": "^2.4.1" }, "publishConfig": { "access": "public" @@ -52,27 +56,33 @@ "exports": { ".": { "import": "./dist/router.js", - "require": "./dist/router.js" + "require": "./dist/router.js", + "types": "./dist/router.d.ts" }, "./browser": { "import": "./dist/router-browser.js", - "require": "./dist/router-browser.js" + "require": "./dist/router-browser.js", + "types": "./dist/router-browser.d.ts" }, "./sign": { "import": "./dist/router-sign.js", - "require": "./dist/router-sign.js" + "require": "./dist/router-sign.js", + "types": "./dist/router-sign.d.ts" }, "./simple": { "import": "./dist/router-simple.js", - "require": "./dist/router-simple.js" + "require": "./dist/router-simple.js", + "types": "./dist/router-simple.d.ts" }, "./simple-lib": { "import": "./dist/router-simple-lib.js", - "require": "./dist/router-simple-lib.js" + "require": "./dist/router-simple-lib.js", + "types": "./dist/router-simple-lib.d.ts" }, "./mod.ts": { - "import": "./src/mod.ts", - "require": "./src/mod.ts" + "import": "./mod.ts", + "require": "./mod.ts", + "types": "./mod.d.ts" } } } \ No newline at end of file diff --git a/rollup.config.js b/rollup.config.js index 7fdad3f..a0d50ce 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -4,6 +4,34 @@ import typescript from '@rollup/plugin-typescript'; import resolve from '@rollup/plugin-node-resolve'; import commonjs from '@rollup/plugin-commonjs'; import { dts } from 'rollup-plugin-dts'; +import alias from '@rollup/plugin-alias'; + +const createAlias = () => { + return alias({ + entries: [ + { find: 'http', replacement: 'node:http' }, + { find: 'https', replacement: 'node:https' }, + { find: 'fs', replacement: 'node:fs' }, + { find: 'path', replacement: 'node:path' }, + { find: 'crypto', replacement: 'node:crypto' }, + { find: 'zlib', replacement: 'node:zlib' }, + { find: 'stream', replacement: 'node:stream' }, + { find: 'net', replacement: 'node:net' }, + { find: 'tty', replacement: 'node:tty' }, + { find: 'tls', replacement: 'node:tls' }, + { find: 'buffer', replacement: 'node:buffer' }, + { find: 'timers', replacement: 'node:timers' }, + // { find: 'string_decoder', replacement: 'node:string_decoder' }, + { find: 'dns', replacement: 'node:dns' }, + { find: 'domain', replacement: 'node:domain' }, + { find: 'os', replacement: 'node:os' }, + { find: 'events', replacement: 'node:events' }, + { find: 'url', replacement: 'node:url' }, + { find: 'assert', replacement: 'node:assert' }, + { find: 'util', replacement: 'node:util' }, + ], + }); +}; /** * @type {import('rollup').RollupOptions} */ @@ -15,11 +43,13 @@ export default [ format: 'es', // 输出格式设置为 ES 模块 }, plugins: [ - resolve(), // 使用 @rollup/plugin-node-resolve 解析 node_modules 中的模块 + createAlias(), + resolve({ + browser: true, + }), // 使用 @rollup/plugin-node-resolve 解析 node_modules 中的模块 commonjs(), typescript(), // 使用 @rollup/plugin-typescript 处理 TypeScript 文件 ], - external: ['ws'], }, { input: 'src/index.ts', @@ -58,6 +88,7 @@ export default [ format: 'es', }, plugins: [ + createAlias(), resolve({ browser: false, }), diff --git a/src/app.ts b/src/app.ts index 4c45c85..0830b2a 100644 --- a/src/app.ts +++ b/src/app.ts @@ -101,3 +101,5 @@ export class App { throw new CustomError(...args); } } + +export * from './browser.ts'; diff --git a/src/mod.ts b/src/mod.ts deleted file mode 100644 index d8a77d0..0000000 --- a/src/mod.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Route, QueryRouter, QueryRouterServer } from './route.ts'; - -export { App } from './app.ts'; - -export { Route, QueryRouter, QueryRouterServer }; - -export { Rule, Schema, createSchema } from './validator/index.ts'; - -export type { RouteContext, RouteOpts } from './route.ts'; - -export type { Run } from './route.ts'; - -export { CustomError } from './result/error.ts'; diff --git a/src/server/ws-server.ts b/src/server/ws-server.ts index 8ed3d77..bb27c6b 100644 --- a/src/server/ws-server.ts +++ b/src/server/ws-server.ts @@ -1,8 +1,10 @@ +// @ts-type=ws import { WebSocketServer } from 'ws'; import type { WebSocket } from 'ws'; import { Server } from './server.ts'; import { parseIfJson } from '../utils/parse.ts'; + export const createWsServer = (server: Server) => { // 将 WebSocket 服务器附加到 HTTP 服务器 const wss = new WebSocketServer({ server: server.server as any }); diff --git a/tsconfig.json b/tsconfig.json index 918f972..ba7c2d7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -25,7 +25,8 @@ } }, "include": [ - "src/**/*.ts" + "src/**/*.ts", + "mod.ts" ], "exclude": [ "node_modules",