diff --git a/demos/vercel-deploy-tool/.env.test b/demos/vercel-deploy-tool/.env.test new file mode 100644 index 0000000..3a7ebad --- /dev/null +++ b/demos/vercel-deploy-tool/.env.test @@ -0,0 +1,7 @@ +VITE_APP_TITLE=零壹OA项目 +VITE_API_URL = /api +VITE_CAPTCHA_PREFIX = /captcha + +VITE_app_port = 3000 +VITE_proxy_prefix = "/api" +VITE_base_url = "/api" \ No newline at end of file diff --git a/demos/vercel-deploy-tool/CHANGELOG.md b/demos/vercel-deploy-tool/CHANGELOG.md index 4c09f40..050d118 100644 --- a/demos/vercel-deploy-tool/CHANGELOG.md +++ b/demos/vercel-deploy-tool/CHANGELOG.md @@ -1,10 +1,24 @@ # @ruan-cat/vercel-deploy-tool +## 0.3.0 + +### Minor Changes + +- 增加了 --env-path 环境变量地址配置。使用命令行运行项目时,可以手动传递环境变量的值。传递命令行的值即可。 + +举例如下: + +```bash +node --import=tsx ./tests/config.test.ts --env-path=.env.test +``` + +传递 --env-path 变量,并提供地址即可。 + ## 0.2.0 ### Minor Changes -- 提供 vercelJsonPath 配置。 +- 提供 vercelJsonPath 配置。允许用户上传自定义的 vercel.json 文件。 ## 0.1.1 diff --git a/demos/vercel-deploy-tool/package.json b/demos/vercel-deploy-tool/package.json index 05028da..9bf660d 100644 --- a/demos/vercel-deploy-tool/package.json +++ b/demos/vercel-deploy-tool/package.json @@ -1,6 +1,6 @@ { "name": "@ruan-cat/vercel-deploy-tool", - "version": "0.2.0", + "version": "0.3.0", "description": "阮喵喵自用的vercel部署工具,用于实现复杂项目的部署。", "type": "module", "main": "./src/index.ts", @@ -17,8 +17,8 @@ "scripts": { "—build-not-use-for-now": "tsc", "start": "node ./dist/index.js", - "run": "vite-node ./src/index.ts --files", - "test:config": "vite-node ./tests/config.test.ts --files", + "run": "node --import=tsx ./src/index.ts --env-path=.env.test", + "test:config": "node --import=tsx ./tests/config.test.ts --env-path=.env.test", "test:vitest": "vitest --ui --watch", "rm:node_modules": "rimraf node_modules" }, @@ -51,6 +51,7 @@ "@dotenvx/dotenvx": "^1.11.5", "@ruan-cat/utils": "workspace:^", "c12": "^1.11.2", + "commander": "^12.0.0", "consola": "^3.2.3", "cpx": "^1.5.0", "cpy": "^11.1.0", @@ -71,4 +72,4 @@ "@vitest/ui": "^2.0.5", "vitest": "^2.0.5" } -} +} \ No newline at end of file diff --git a/demos/vercel-deploy-tool/src/config.ts b/demos/vercel-deploy-tool/src/config.ts index d3bc587..925eccc 100644 --- a/demos/vercel-deploy-tool/src/config.ts +++ b/demos/vercel-deploy-tool/src/config.ts @@ -3,6 +3,7 @@ import { loadConfig } from "c12"; import { config as dotenvConfig } from "@dotenvx/dotenvx"; import { consola } from "consola"; import { merge } from "lodash-es"; +import { program } from "commander"; /** * @description @@ -139,12 +140,31 @@ declare module "@dotenvx/dotenvx" { } } +program + .name("vercel-deploy-tool") + // 环境变量的地址 + .option("--env-path ", "环境变量的地址") + .parse(); +const options = program.opts(); + +consola.info(" 查看命令行提供的参数 ", options); + /** 初始化的当前的环境变量 */ function initCurrentDotenvConfig() { - const res = dotenvConfig({ - // 具体识别的路径,会自动识别根目录下面的env文件,故这里不作处理 - // path: "../../../.env" - }).parsed; + // 如果存在环境变量路径 就使用并读取 + const dotenvConfigParams = options?.envPath + ? { + path: options?.envPath, + } + : {}; + + const res = dotenvConfig( + dotenvConfigParams, + // { + // // 具体识别的路径,会自动识别根目录下面的env文件,故这里不作处理 + // path: "../../../.env" + // } + ).parsed; consola.info(" 查看来自 @dotenvx/dotenvx 获取的环境变量: "); consola.box(res);