feat: add oauth

This commit is contained in:
2025-03-21 13:41:34 +08:00
parent ceab01aefa
commit 4f12ed332c
10 changed files with 431 additions and 95 deletions

View File

@@ -13,20 +13,16 @@ const version = pkgs.version|| '1.0.0';
const external = [
/@kevisual\/router(\/.*)?/, //, // 路由
/@kevisual\/use-config(\/.*)?/, //
/@kevisual\/auth(\/.*)?/, //
'sequelize', // 数据库 orm
'ioredis', // redis
'socket.io', // socket.io
'minio', // minio
'pm2',
'pg', // pg
'pino', // pino
'pino-pretty', // pino-pretty
'@msgpack/msgpack', // msgpack
]
const replaceConfig = {
preventAssignment: true, // 防止意外赋值
DEV_SERVER: JSON.stringify(isDev), // 替换 process.env.NODE_ENV
VERSION: JSON.stringify(version), // 替换版本号
}
/**
* @type {import('rollup').RollupOptions}
*/
@@ -35,50 +31,11 @@ const config = {
output: {
dir: './dist',
entryFileNames: 'lib.mjs',
chunkFileNames: '[name]-[hash].mjs',
format: 'esm',
},
plugins: [
replace({
preventAssignment: true, // 防止意外赋值
DEV_SERVER: JSON.stringify(isDev), // 替换 process.env.NODE_ENV
VERSION: JSON.stringify(version), // 替换版本号
}),
replace(replaceConfig),
alias({
// only esbuild needs to be configured
entries: [
{ find: '@', replacement: path.resolve('src') }, // 配置 @ 为 src 目录
],
}),
resolve({
preferBuiltins: true, // 强制优先使用内置模块
}),
commonjs(),
esbuild({
target: 'node22', // 目标为 Node.js 14
minify: false, // 启用代码压缩
tsconfig: 'tsconfig.json',
}),
json(),
],
external: external,
};
const configCjs = {
input: './src/lib.ts',
output: {
dir: './dist',
entryFileNames: 'lib.cjs',
chunkFileNames: '[name]-[hash].cjs',
format: 'cjs',
},
plugins: [
replace({
preventAssignment: true, // 防止意外赋值
DEV_SERVER: JSON.stringify(isDev), // 替换 process.env.NODE_ENV
VERSION: JSON.stringify(version), // 替换版本号
}),
alias({
// only esbuild needs to be configured
entries: [
{ find: '@', replacement: path.resolve('src') }, // 配置 @ 为 src 目录
],
@@ -96,6 +53,7 @@ const configCjs = {
],
external: external,
};
const dtsConfig = {
input: './src/lib.ts',
output: {
@@ -113,15 +71,10 @@ const systemConfig = [
output: {
dir: './dist',
entryFileNames: 'system.mjs',
chunkFileNames: '[name]-[hash].mjs',
format: 'esm',
},
plugins: [
replace({
preventAssignment: true, // 防止意外赋值
DEV_SERVER: JSON.stringify(isDev), // 替换 process.env.NODE_ENV
VERSION: JSON.stringify(version), // 替换版本号
}),
replace(replaceConfig),
alias({
entries: [
{ find: '@', replacement: path.resolve('src') }, // 配置 @ 为 src 目录
@@ -158,15 +111,10 @@ export const modelConfig = [
output: {
dir: './dist',
entryFileNames: 'models.mjs',
chunkFileNames: '[name]-[hash].mjs',
format: 'esm',
},
plugins: [
replace({
preventAssignment: true, // 防止意外赋值
DEV_SERVER: JSON.stringify(isDev), // 替换 process.env.NODE_ENV
VERSION: JSON.stringify(version), // 替换版本号
}),
replace(replaceConfig),
alias({
entries: [
{ find: '@', replacement: path.resolve('src') }, // 配置 @ 为 src 目录
@@ -199,4 +147,44 @@ export const modelConfig = [
],
},
]
export default [config, dtsConfig, ...systemConfig, ...modelConfig];
const oauthConfig = [
{
input: './src/oauth/index.ts',
output: {
dir: './dist',
entryFileNames: 'oauth.mjs',
format: 'esm',
},
plugins: [
replace(replaceConfig),
alias({
entries: [
{ find: '@', replacement: path.resolve('src') }, // 配置 @ 为 src 目录
],
}),
resolve({
preferBuiltins: true, // 强制优先使用内置模块
}),
commonjs(),
esbuild({
target: 'node22', // 目标为 Node.js 14
minify: false, // 启用代码压缩
tsconfig: 'tsconfig.json',
}),
json(),
],
},
{
input: './src/oauth/index.ts',
output: {
dir: './dist',
entryFileNames: 'oauth.d.ts',
format: 'esm',
},
plugins: [
dts(),
],
},
]
export default [config, dtsConfig, ...systemConfig, ...modelConfig, ...oauthConfig];