{"_id":"@94ai/rt-cli","_rev":"2-874d891efc397e865a1efdc57a1a40c4","name":"@94ai/rt-cli","dist-tags":{"latest":"1.1.5"},"versions":{"1.1.5":{"name":"@94ai/rt-cli","version":"1.1.5","description":"fs、oss资源互通cli","main":"lib/rt-cli.esm-bundler.min.mjs","module":"lib/rt-cli.esm-bundler.min.mjs","bin":{"rt-cli":"bin/index.js"},"scripts":{"cli":"cross-env TARGET=CLI rollup -c --watch","test":"echo \"Error: no test specified\" && exit 1"},"publishConfig":{"access":"public"},"dependencies":{"@xccjh/rt-core":"^1.1.5","chalk":"^5.2.0","commander":"^10.0.0"},"peerDependencies":{"@xccjh/rt-core":"^1.1.5","chalk":"^5.2.0","commander":"^10.0.0"},"repository":{"type":"git","url":"https://gitee.com/xccjh/resource-opt"},"homepage":"http://oss.xccjh.top/rt-cli/","keywords":["fs、oss"],"author":{"name":"xccjh"},"license":"ISC","babel":{"presets":[["@babel/env",{"modules":false}]],"plugins":[["@babel/plugin-transform-runtime",{"corejs":{"version":3,"proposals":true},"useESModules":true}]]},"gitHead":"456cece42e45536ce90b628cf803484fb0babd34","_id":"@94ai/rt-cli@1.1.5","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-ClJHaKg8xwLDfG1MjkJtSXSVS16J0ZxjTUijZiIHIiSfqg2aFuCF7UR3zPPD+x8+eXzbUld9CR5bsMT0DooTNQ==","shasum":"ff0a5ec2fa18311f514204aeff38bf6a9956e99b","tarball":"https://registry.npmjs.org/@94ai/rt-cli/-/rt-cli-1.1.5.tgz","fileCount":25,"unpackedSize":88984,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTVvuBwbX9gqLoHxU03Cz8ZhPwcWnIkjV7puoP7TEn3QIgXVmjA42tF0HJmA/t0quICeVI6zcovrM3nimhWHy9tYk="}]},"_npmUser":{"name":"94ai","email":"zjh15018707394@gmail.com"},"directories":{},"maintainers":[{"name":"94ai","email":"zjh15018707394@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rt-cli_1.1.5_1690179242145_0.6070423763593242"},"_hasShrinkwrap":false}},"time":{"created":"2023-07-24T06:14:01.934Z","1.1.5":"2023-07-24T06:14:02.347Z","modified":"2024-05-24T09:11:43.911Z"},"maintainers":[{"email":"liuxiangxiang1992@gmail.com","name":"louislxx"},{"email":"zjh15018707394@gmail.com","name":"nfai"}],"description":"fs、oss资源互通cli","homepage":"http://oss.xccjh.top/rt-cli/","keywords":["fs、oss"],"repository":{"type":"git","url":"https://gitee.com/xccjh/resource-opt"},"author":{"name":"xccjh"},"license":"ISC","readme":"## 前言\r\n\r\n资源操控工具库cli包，实现脚手架交互和参数传递，核心功能诸如oss资源操作，本地资源操作，oss资源和本地资源互通等依赖[@xccjh/rt-core包](https://www.npmjs.com/package/@xccjh/rt-core)。官网地址：http://oss.xccjh.top/rt-cli/\r\n\r\n## 安装\r\n```shell\r\n$ D:\\resource-opt\\core> yarn add @xccjh/rt-cli -g # 该包依赖@xccjh/rt-core包，该命令会自动安装上core包\r\n$ D:\\resource-opt\\core> rt-cli\r\n┌───────────────────────────────────────────┐\r\n│         欢迎使用 rt-cli@1.0.2              │\r\n└───────────────────────────────────────────┘\r\nUsage: rt-cli <command> [option]\r\n\r\nDescription: fs、oss资源互通脚手架\r\n\r\nOptions:\r\n  -ai,--accessKeyId                              accessKeyId\r\n  -as,--accessKeySecret                          accessKeySecret\r\n  -rg,--region                                   region\r\n  -ep,--endpoint                                 endpoint\r\n  -ob,--ossBucket                                ossBucket\r\n  -rp,--remoteResourcePath <remoteResourcePath>  远程资源路径\r\n  -lp,--localResourcePath <localResourcePath>    本地资源路径\r\n  -uff,--uploadFullPathFile                      是否以全路径上传,default: false\r\n  -ud,--uploadDir                                是否上传目录,default: false\r\n  -bn,--batchNumber <batchNumber>                批量每单批上传个数,default: 200\r\n  -lt,--listType <listType>                      过滤类型：\"all\" | \"file\" | \"dir\"，default: \"all\"\r\n  -dkrd,--downloadKeepRemoteDirectory            是否保留远程目录下载,default: false\r\n  -lf,--localSourceFilter <localSourceFilter>    过滤条件：\"RegExp\" | \"String\" | \"(item:{name:String,path:String})=>Boolean\"\r\n  -rf,--remoteSourceFilter <remoteResourcePath>  过滤条件：\"RegExp\" | \"String\" | \"(item:{name:String,path:String})=>Boolean\"\r\n  -h, --help                                     显示帮助\r\n  -c, --config <config>                          设置配置文件路径 (default: \"./rt.config.mjs\")\r\n  -v, --version                                  显示当前脚手架版本\r\n  -c, --config <config>                          设置配置文件路径 (default: \"./rt.config.mjs\")\r\n\r\nCommands:\r\n  oss-upload [options]                           Description: 上传本地指定路径资源到oss指定路径\r\n  oss-list|ol [options]                          Description: 列出oss路径资源列表\r\n  oss-download [options]                         Description: 下载oss指定路径资源到本地指定路径\r\n  oss-delete [options]                           Description: 删除oss指定路径资源\r\n  local-list [options]                           Description: 列出本地指定路径资源\r\n  local-create [options]                         Description: 生成本地指定路径资源\r\n  local-delete [options]                         Description: 删除本地指定路径资源\r\n\r\n  运行 rt-cli <command> [--help, -h] 显示Commands帮助\r\n\r\nExamples:\r\n  $ rt-cli -c ./custom-path/rt.config.mjs\r\n```\r\n\r\n## 目前主要功能\r\n1. oss-upload   指定本地资源上传oss\r\n2. oss-list     oss指定获取资源列表\r\n3. oss-delete   oss删除指定资源\r\n4. oss-download oss下载指定资源\r\n5. local-list   本地获取指定资源列表\r\n6. local-create 本地创建指定资源\r\n7. local-delete 本地指定删除资源\r\n\r\n后面考虑增加 local-copy local-cut oss-copy oss-cut oss-rename等\r\n\r\n> 以上实现在core包,全部配置信息具体参看[core](https://www.npmjs.com/package/@xccjh/rt-core)包说明\r\n\r\n## 使用\r\n默认情况运行rt-cli会在process.cwd()下找到rt.config.mjs作为默认配置文件(如果有用户有配置的话)，也可以通过-c 指定配置文件位置\r\n\r\n> 为了统一模块写法，自定义配置文件请用.mjs作为后缀然后用esModule的方式导出，不建议用module.exports\r\n\r\n### rt.config.mjs自动补全\r\n```js\r\nimport { defineRtConfig } from '@xccjh/rt-cli/lib/type.js'\r\n\r\n// 实现上传本地sourceMap\r\nexport default defineRtConfig({  // 👈\r\n  opterateType: 'oss-upload',\r\n  localResourcePath: 'test',\r\n  remoteResourcePath: 'test',\r\n  localSourceFilter(item) {\r\n    if (item.path.indexOf('.js.map') > -1) {\r\n      return true\r\n    }\r\n    return false\r\n  },\r\n  accessKeyId: 'LTAI5tCzqLRdAhWtvinM7HF8',\r\n  accessKeySecret: 'Q5WJpvQtNE90O4IdgGcg0udysELuqB',\r\n  region: 'oss-cn-shanghai',\r\n  endpoint: '',\r\n  uploadFullPathFile: true,\r\n  uploadDir: true,\r\n})\r\n```\r\n通过defineRtConfig可以实现配置参数补全，效果如下：\r\n\r\n![自动补全](https://xccjhzjh.oss-cn-hongkong.aliyuncs.com/xccjh-images/%E8%87%AA%E5%8A%A8%E8%A1%A5%E5%85%A8.gif)\r\n\r\n### 获取帮助\r\nrt-cli可以通过配置文件配置直接运行，也可以通过子命令`rt-cli comands(操作类型) --options`配置运行，也可以直接通过`rt-cli --options`配置运行\r\n\r\n`rt-cli -h`可以获取全局帮助，通过`rt-cli comands(操作类型) -h`可以获取子命令帮助：\r\n\r\n![获取帮助](https://xccjhzjh.oss-cn-hongkong.aliyuncs.com/xccjh-images/%E8%8E%B7%E5%8F%96%E5%B8%AE%E5%8A%A9.gif)\r\n\r\n### oss-list\r\n```shell\r\nExamples:\r\n  $ rt-cli oss-list -rp ./iqodb4c8xd@eed5e0849f90385/1.0.0 -rf .js.map #查看soureMap\r\n  $ rt-cli oss-list --remoteResourcePath ./iqodb4c8xd@eed5e0849f90385/1.0.0 --remoteSourceFilter .js.map #查看soureMap\r\n  \r\n  $ rt-cli oss-list --ossBucket xccjhzjh --remoteResourcePath remote # 查看远程xccjhzjh文件夹remote\r\n  $ rt-cli oss-list --ossBucket xccjhzjh --remoteResourcePath remote --remoteSourceFilter .js.map # 查看远程xccjhzjh文件夹remote下所有sourceMap\r\n```\r\n### oss-upload\r\n文件上传除了配置过滤的文件类型外，还可以指定 `uploadFullPathFile`  保持原有结构上传 ，通过 `uploadDir` 指定上传目录，例如：\r\n\r\n```shell\r\nExamples: 本地test目录上传soureMap\r\n$ rt-cli oss-upload --remoteResourcePath ./test/1.0.0 --localResourcePath test --localSourceFilter .js.map  #不带目录拍平\r\n$ rt-cli oss-upload --rp ./test/1.0.0 -lp test -lf .js.map  #不带目录拍平\r\n    └─test/                 └─test/\r\n       ├─aa/                    └─1.0.0/\r\n       │ └─a.js.map  =>             ├─a.js.map\r\n       ├─bb/                        └─b.js.map   \r\n       │  └─b.js.map\r\n       └─cc/\r\n$ rt-cli oss-upload --remoteResourcePath ./test/1.0.0 --localResourcePath test --localSourceFilter .js.map --uploadFullPathFile  #不带目录路径不变\r\n$ rt-cli oss-upload -rp ./test/1.0.0 -lp test -lf .js.map -uff  #不带目录路径不变\r\n     └─test                 └─test\r\n       ├─aa/                    └─1.0.0\r\n       │ └─a.js.map  =>              ├─aa         \r\n       ├─bb/                         │ └─a.js.map   \r\n       │  └─b.js.map                 └─bb          \r\n       └─cc/                           └─b.js.map\r\n$ rt-cli oss-upload --remoteResourcePath ./test/1.0.0 --localResourcePath test --localSourceFilter .js.map --uploadFullPathFile --uploadDir #原样copy\r\n$ rt-cli oss-upload -rp ./test/1.0.0 -lp test -lf .js.map -uff -ud #原样copy\r\n       └─test                 └─test\r\n           ├─aa/                  └─1.0.0\r\n           │ └─a.js.map  =>          ├─aa         \r\n           ├─bb/                     │ └─a.js.map   \r\n           │  └─b.js.map             ├─bb          \r\n           └─cc/                     │ └─b.js.map  \r\n                                     └─cc/\r\n```\r\n\r\n默认拍平上传:\r\n![拍平上传](https://xccjhzjh.oss-cn-hongkong.aliyuncs.com/xccjh-images/%E4%B8%8A%E4%BC%A01.gif)\r\n\r\n全路径上传:\r\n![全路径上传](https://xccjhzjh.oss-cn-hongkong.aliyuncs.com/xccjh-images/%E4%B8%8A%E4%BC%A02.gif)\r\n\r\n上传目录:\r\n![上传目录](https://xccjhzjh.oss-cn-hongkong.aliyuncs.com/xccjh-images/%E4%B8%8A%E4%BC%A03.gif)\r\n\r\n其他示例：\r\n```shell\r\nrt-cli oss-upload --ossBucket xccjhzjh --remoteResourcePath remote --localResourcePath local # 上传本地local文件夹所有到远程xccjhzjh文件夹remote\r\nrt-cli oss-upload --ossBucket xccjhzjh --remoteResourcePath remote --localResourcePath local --remoteSourceFilter .js.map # 上传本地local文件夹sourceMap到远程xccjhzjh文件夹remote\r\n```\r\n\r\n### oss-delete\r\n```shell\r\nExamples: \r\n  $ rt-cli oss-delete -rp ./iqodb4c8xd@eed5e0849f90385/1.0.0 -rf .js.map  #删除oss指定资源路径sourceMap\r\n  $ rt-cli oss-delete --remoteResourcePath ./iqodb4c8xd@eed5e0849f90385/1.0.0 --remoteSourceFilter .js.map  #删除oss指定资源路径sourceMap\r\n  \r\n  $ rt-cli oss-delete --ossBucket xccjhzjh --remoteResourcePath remote   #删除远程xccjhzjh文件夹remote\r\n  $ rt-cli oss-delete --ossBucket xccjhzjh --remoteResourcePath remote/   #删除远程xccjhzjh文件夹remote\r\n  $ rt-cli oss-delete --ossBucket xccjhzjh --remoteResourcePath /remote/  #删除远程xccjhzjh文件夹remote\r\n  $ rt-cli oss-delete --ossBucket xccjhzjh --remoteResourcePath /remote   #删除远程xccjhzjh文件夹remote\r\n  $ rt-cli oss-delete --ossBucket xccjhzjh --remoteResourcePath .         #删除远程xccjhzjh根目录下所有\r\n  $ rt-cli oss-delete --ossBucket xccjhzjh --remoteResourcePath ./       #删除远程xccjhzjh根目录下所有\r\n  $ rt-cli oss-delete --ossBucket xccjhzjh --remoteResourcePath /        #删除远程xccjhzjh根目录下所有\r\n```\r\n\r\n### oss-download\r\n```shell\r\nExamples: \r\n  $ rt-cli oss-download -rp test -lp test -rf .js.map --downloadKeepRemoteDirectory  #下载远程test/**（souceMap）到本地test/test/（souceMap）`)\r\n  $ rt-cli oss-download -rp test -lp test -rf .js.map -dkrd  #下载远程test/**（souceMap）到本地test/test/（souceMap）`)\r\n  $ rt-cli oss-download -rp test -lp test -rf .js.map  #下载远程test/**（souceMap）到本地test/（souceMap）`)\r\n  \r\n  $ rt-cli oss-download -rp ./iqodb4c8xd@eed5e0849f90385/1.0.0 -lp test -rf .js.map  #下载远程souceMap到本地test目录`)\r\n  $ rt-cli oss-download --remoteResourcePath ./iqodb4c8xd@eed5e0849f90385/1.0.0 -lp test --remoteSourceFilter .js.map  #下载远程souceMap到本地test目录`)\r\n  $ rt-cli oss-download --ossBucket xccjhzjh --remoteResourcePath remote --localResourcePath local # 下载xccjhzjh远程remote文件夹到本地文件夹local\r\n```\r\n\r\n### local-list\r\n```shell\r\nExamples: \r\n  $ rt-cli local-list -lp ./test -lf .js.map  #列出本地指定资源路径sourceMap\r\n  $ rt-cli local-list --localResourcePath ./test --localSourceFilter .js.map  #列出本地指定资源路径sourceMap\r\n```\r\n\r\n### local-create\r\n```shell\r\nExamples: \r\n  $ rt-cli local-create -lp ./test/bb/aa.js  #生成本地指定路径资源\r\n  $ rt-cli local-create --localResourcePath ./test/bb/aa.js  #生成本地指定路径资源\r\n```\r\n\r\n### local-delete\r\n```shell\r\nExamples: \r\n  $ rt-cli local-delete -lp ./test -lf .js.map  #删除本地指定资源路径sourceMap\r\n  $ rt-cli local-delete -localResourcePath ./test --localSourceFilter .js.map  #删除本地指定资源路径sourceMap\r\n```\r\n\r\nThat's all\r\n","readmeFilename":"README.md"}