@ziuchen/tencent-scf-utils
Version:
A simple tool for deploying Tencent SCF
94 lines (63 loc) • 1.71 kB
Markdown
# @ziuchen/tencent-scf-utils
A simple tool for deploying Tencent SCF
## Install
```sh
npm i @ziuchen/tencent-scf-utils -D
```
## Usage
```sh
tscf -h
```
### Deploy Command
Deploy a directory to Tencent SCF:
```sh
tscf deploy ./dist -n my-function
```
### Layer Command
Build and upload a layer.zip with production dependencies:
```sh
tscf layer -p package.json
```
You can pass additional npm install arguments using the `--npm-args` option:
```sh
# Pass --ignore-scripts to npm install
tscf layer --npm-args "--ignore-scripts"
# Pass multiple npm arguments
tscf layer --npm-args "--ignore-scripts --no-audit --no-fund"
# Combine with layer-specific options
tscf layer -p custom-package.json --npm-args "--ignore-scripts --verbose"
```
The `--npm-args` option accepts a space-separated string of arguments that will be passed directly to the `npm install` command.
## Best Practice
tscf will load config from enviroment variables below:
```bash
TENCENTCLOUD_SCF_FUNCTION_NAME=xxxxxxxxxxxxxxxxxxxx
TENCENTCLOUD_SCF_SECRET_ID=xxxxxxxxxxxxxxxxxxxx
TENCENTCLOUD_SCF_SECRET_KEY=xxxxxxxxxxxxxxxxxxxx
```
Using with `@dotenvx/dotenvx`:
```json
{
"scripts": {
"deploy:scf": "dotenvx run -- tscf deploy ./dist"
}
}
```
dotenvx will load enviroment variables from `.env` file for `tencent-scf-utils`.
## Development
This link `tencent-scf-utils` to global.
```sh
pnpm link -g
```
In other package, run this to link `tencent-scf-utils` locally.
```sh
pnpm link -g tencent-scf-utils
```
After modified code, you should rerun these command to make changes apply.
## Publish
```sh
pnpm login --registry=https://registry.npmjs.org/
```
```sh
pnpm publish --access=public --no-git-checks
```