# @flisk-sh/flisk-import 中文文档

规范地址：https://npmcn.com/package/%40flisk-sh/flisk-import/

版本：0\.18\.2
npm 元数据更新时间：2026-11-08T13:11:02.478Z
中文译文更新时间：2026-11-14T23:27:59.937Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40flisk-sh/flisk-import
原文对照：https://npmcn.com/package/%40flisk-sh/flisk-import/?lang=original
项目主页：https://github.com/flisk-sh/flisk-import#readme
源码仓库：https://github.com/flisk-sh/flisk-import

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：164 kB，20 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=22\.12\.0
- 运行依赖：2 个
- 首次发布：2026-10-21T17:56:05.081Z
- 最新版本发布：2026-11-08T13:11:02.083Z
- 近 30 天下载量：4362（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：22（近 12 个月 22 个）

## 中文简介

将寄存器的root docker-compose.yml导入到Flisk service.json文件,或注册其Tiltfile.

## 安装

```sh
npm install @flisk-sh/flisk-import
```

也可以使用：`pnpm add @flisk-sh/flisk-import`、`yarn add @flisk-sh/flisk-import`、`bun add @flisk-sh/flisk-import`

## README

# flisk 导入

导入 repo 根中的服务 `docker-compose.yml` 输入 [颜色](https://github.com/flisk-sh/flisk) 作为 `service.json` 文件,或登记 repo 自己的 Tilt 文件 `flisk up` 运行它。 这是Flisk-sh/flisk#511的编译第一级.

```bash
flisk import . --dry-run     # plan only
flisk import .               # plan, then ask before writing
flisk import . --yes         # write service.json files and project setup
```

## 还有什么期待

-   **读取一个项目 :** 词根 `docker-compose.yml`,或 `compose.yaml`, (中文(简体) ), `compose.yml` 或者说 `docker-compose.yaml` 当没有时,通过 `docker compose config --no-interpolate --no-env-resolution --no-path-resolution` 当涂鸦作曲安装时, 所以 `include:`, (中文(简体) ), `extends` 和锚作为 `docker compose up` 解析它们( wger 保留 db, 缓存和权力同步 ) `services/*.yaml`, (中文(简体) ), `${VAR}` 模板保留为已写入, 而包含的文件路径会相对于它自己的文件夹保留 。 无打工者作曲(或 `FLISK_IMPORT_DOCKER=0`文件被读作YAML, 计划说当它离开 `include` 或者说 `extends` 未解决。 不覆盖文件, Dockerfiles 自己, `package.json`,或Procfiles. (原始内容存档于2019-09-31).
-   **写作:** 一个带 - 你自己的 `service.json` 每个编曲服务,加 `.flisk/project.json` 如果还不是Flisk项目。 它从不编辑 Compose 文件或覆盖 a `service.json` 无 `--force`。 。 。 .
-   **保存安装数据 :** 每个名称的音量得到 `name`,多克音量 `docker compose up` 创建( e)`<project>_<volume>`本身 `name:`,或一个 `external` ),因此 `flisk up` 挂载相同的数据, 没有副本( 需要 Flisk # 2964 的 Flisk 发布) .
-   **保留 :** `profiles` (服务开始于 `flisk up --profile`, (中文(简体) ), `env_file` 作为 `envFile`, (中文(简体) ), `tmpfs` 财务报告和审定财务报表 `deploy.resources.limits` (单位:千美元)`container.tmpfs`, (中文(简体) ), `cpus`, (中文(简体) ), `memory`) (中文(简体) ).
-   **保留(Flisk 1.4.28):** 每个 `depends_on` 作为条件 `{ name, condition }` 条目(列表表为 `service_started`, (中文(简体) ), `build.args` 作为 `buildArgs`, (中文(简体) ), `logging` (选项作为字符串),从环境中绑定路径(`${OM_AGENTS_DIR:-./agents}`,相对于 `service.json`), SELinux 标签(`:z`, (中文(简体) ), `:Z`, (中文(简体) ), `bind.selinux`,作为 `selinux`和图像 `${NAME:?message}`。来自变量的绑定路径没有默认值(`${STORAGE_DIR}/redis`和 `extra_hosts` 有变量的,仍然没有结转.
-   **保留 :** `stop_grace_period` (单位:千美元)`container.stopGracePeriod`,例如 `30s`页:1 `aliases` 每个网络(`container.networkAliases`, (中文(简体) ), `extra_hosts` 在列表或映射格式中 (`container.extraHosts`,例如 `host.docker.internal:host-gateway`和 `ulimits` (单位:千美元)`container.ulimits`) (中文(简体) ). 重新命名为 kebab 的服务( Q)`lychee_api` 变成 `lychee-api`)保留其编曲名称作为网络别名,因此 `http://lychee_api:8000` 在另一个服务仍然解决. `container_name` 缩写为:Flisk名容器本身。 这些字段,带有变量和 `on-failure:N` 需要读取它们的Flisk核心发布;一个更古老的核心不应用它们.
-   **保留 :** 服务名称( e)`db` 留下来 `db`,因此它保留了主机名,构建上下文和多克文件(或图像),所写的集装箱端口(3000,80,5432), `depends_on`和HTTP健康路径。 数据库和经纪人是私人的,没有代理路线.
-   **运行时键 :** 已命名的卷并装入项目内(`volumes`, (中文(简体) ), `cap_add`, (中文(简体) ), `cap_drop`, (中文(简体) ), `init`, (中文(简体) ), `read_only`, (中文(简体) ), `user`, (中文(简体) ), `security_opt` 财务报告和审定财务报表 `shm_size` (单位:千美元)`container`),额外的已公布端口(`extraPorts`,在与Confose相同的主机地址上: `"80:80"` 保留在每个界面上(写入为 `publish: "80"`,所以IPv6被保存; `"0.0.0.0:80:80"` 实值 `bind`, (中文(简体) ), `"127.0.0.1:5432:5432"` 和另一个地址或一个地址 `${VAR:-default}` 或者说 `${VAR-default}` 主机侧为 `publish`, (中文(简体) ), `network_mode: service:<name>` (单位:千美元)`sidecarOf`和 `restart`。 。 。 .
-   **环境:** 承诺 `service.json` `env` 得到每个纯的 编曲表达式的书面, 不管它的名称(`${DB_PASSWORD:-password}`, (中文(简体) ), `${PORT-8080}`, (中文(简体) ), `${A:-${B:-file}}`),所以一个新鲜的克隆保留了默认,并且每个字都保留了`sqlite`, (中文(简体) ), `worker`, (中文(简体) ), `lychee_db`, (中文(简体) ), `http://invidious:3000`除非它的名字看起来像一个证书(`PASSWORD`, (中文(简体) ), `TOKEN`, (中文(简体) ), `KEY`,.)或值持有一个(一个有用户或密码的URL,一个符号查询参数,一个长随机字符串,一个PEM块). 进去吧 `secrets.required`,其字面价值已复制到工程中 `.env`,该词添加到 `.gitignore`。数值 `.env` 已经保存.
-   **来回旅行:** 一个路由端口, 编译器也发布( O) :`"${APP_PORT:-8000}:8000"`继续留在 `extraPorts` 还有,一个 `healthcheck` 保留为 `healthCheck.command` (与 `interval`, (中文(简体) ), `timeout`, (中文(简体) ), `retries` 财务报告和审定财务报表 `start_period` 作为 `startPeriod`即使读取了 HTTP 路径,所以 `flisk-export compose` 写一个文件 `docker compose` 以同样的方式开始(LycheeOrg/Lychee圆路,除了名字和别名没有区别)。 无服务 `restart` 没有保留, 因此 Flisk 用默认操作它 `unless-stopped` (与"作曲"不同,"Flisk"在坠机后或重启后再重启;计划如此规定). `restart: "no"` 仅当 Compose 设定此选项或其它服务等待此选项时才会写入 `condition: service_completed_successfully`,因为 Flisk 运行一个 `restart: "no"` 作为一发一发服务 等待它离开, `healthcheck: { disable: true }` 或者说 `test: ["NONE"]` 变成 `healthCheck: false`,该值混合 `${VAR}` 带有文字文字的文字(`${SERVER_NAME:-localhost}, php:80`继续留在 `env` 除非它能持有证书, `*_FILE` 路径( e)`POSTGRES_PASSWORD_FILE=/run/secrets/pg`留下来 `env`,和“编译”项目名称(`name:` 或文件夹的,例如 `pl_mail`)记录为: `composeProjectNames.<stack>` 内 `.flisk/project.json`这样 `flisk-export compose` 保留容器名称.
-   **跟踪 `.env`数字 :** 实施其 `.env` (音同)保持原样,没有加入 `.gitignore`; 必须留在本地的值将转到 `.env.local` 当git已经忽略它, 否则 `.flisk/.env.import` (加进 `.gitignore`),每个需要他们的服务读取该文件为 `envFile`。 。 。 .
-   **保留 :** (单位:千美元) `command` 或者说 `entrypoint` 作为 `container.command` 编号 : `container.entrypoint` (Flisk 1.4.31;按原样排列的列表,一串被分割成exec-form参数作为Compose将其分割,没有外壳,所以 `command: server /export` 打开 `minio/minio` 保留其论据 `ENTRYPOINT`· ; `$$` 财务报告和审定财务报表 `${VAR}` 被写入原样, 因为 Flisk 把它们重新放入 Compose 文件 ; 只有带有不平衡引文的字符串 `sh -c`,计划是这样说的;空辩被弗利斯克拒绝,没有写作;对于服务于 `build:`页:1 `healthcheck` 作为 `healthCheck.command`,一个已公布的数据库端口为 `extraPorts`,以及 `restart: on-failure:N` 带有重试限制(N从1到100).
-   **滴出,并说:** `command` 在服务与 `build`, (中文(简体) ), `env_file` 以及所有其他未经翻译的钥匙;项目以外的匿名卷和路径; `network_mode` 其他 `service:<name>`; 配置名称无效的服务, `extends`,树外建筑,或带有字符或可变形式的图像 `${NAME}`, (中文(简体) ), `${NAME:-default}` 财务报告和审定财务报表 `${NAME-default}` (单位:千美元)`postgres:${POSTGRES_VERSION:-18}-alpine` 被写成.
-   **别乱动.** 运行 `flisk up` 带有 Flisk 核心 **1.4.31 或以后时间** (单位:千美元)`container.entrypoint` 需要; 取决于条件、 构建参数、 日志、 来自环境的绑定路径、 SELinux 标签和 `${NAME:?message}` 图像需要1.4.28。 进口商不检查核心版本 .
-   **退出代码 :** `0` 当计划成功时(`--dry-run`,写入文件,或全部 `service.json` 文件已经存在), `1` 无根时 `docker-compose.yml` 或可映射服务,以及 `2` 当写出提示被拒绝或关闭而无答案时(`Nothing written.`) (中文(简体) ).

见 [文件/进口](https://npmcn.com/package/%40flisk-sh/flisk-import/docs/import.md) 完全的绘图和限制. `flisk import` 是本软件包支持的核心 CLI 命令.

## 导入倾斜文件

已经运行在 Tilt 上的 Repo 保留自己的 Tilt 文件 . `flisk-import tiltfile` 登记在 `.flisk/project.json`这样 `flisk up` 运行它不变.

```bash
flisk import tiltfile --dry-run          # plan only
flisk import tiltfile                    # plan, then ask before writing
flisk import tiltfile dev/Tiltfile --yes # a named file, or a folder that holds a Tiltfile
```

-   **路径 :** `[path]` 默认为 `Tiltfile`; 文件夹表示 `<folder>/Tiltfile`。从当前目录中解决。 工程根是最近的文件夹 `.flisk/project.json`,否则就是当前目录.
-   **写作:** 仅限 `.flisk/project.json`,与 `"orchestration": { "source": "tiltfile", "path": "<path from the project root>" }`。所有其他键都保留。 没有 `project.json`,它创建与 Confose 导入相同的最小值,只有代理堆栈。 它从不编辑 Tilt 文件 .
-   **拒绝(退出1):** 缺少 Tilt 文件, 内部路径 `.flisk/` (也通过符号链接),带有引文或控制字符的路径,a `project.json` 这不是 JSON 对象或缺少字段 `flisk up` 需求,a `project.json` 已经设置 `orchestration` (通过) `--force` 以取代它).
-   **退出代码 :** 与“编译”导入相同: `0` 页:1 `--dry-run` 或者写作, `1` 对于拒绝, `2` 当提示被拒绝或关闭时(`Nothing written.`) (中文(简体) ).
-   **需求** 运行导入的倾斜文件的 Flisk 核心( )[flisk# 2849 (英语)](https://github.com/flisk-sh/flisk/pull/2849)) (中文(简体) ). 进口商不检查核心版本 .

平面 `flisk-import [dir]` 仍然是“编译”的导入。 要从命名的文件夹中导入编曲 `tiltfile`,写入 `flisk-import ./tiltfile`。 。 。 .

```bash
bun install && bun run build && bun run test
```

## 出版

`flisk-import` 由工作流程发布至 npmjs.org [`.github/workflows/publish-npm.yml`](https://npmcn.com/package/%40flisk-sh/flisk-import/.github/workflows/publish-npm.yml),由 GitHub发布. 用这个 **npm 信任的出版 (OIDC)**,所以没有长寿的npm符号 住在这个仓库里 软件包以两个名称发布:未瞄准镜 `flisk-import` 范围 `@flisk-sh/flisk-import` (名称相同的档案) 重写在包装的货单上.

### 一次性所有者设置

在第一个OIDC出版成功之前,信任的出版商必须在npm上存在,而且它是 每个软件包名称配置 :

1.  在 npmjs.com 上打开软件包 **设置** → **信任的出版商** → **GitHub 动作**
2.  填写:
    -   组织: `flisk-sh`
    -   仓库 : `flisk-import`
    -   工作流程文件名 : `publish-npm.yml`
    -   允许的行动 : `npm publish`
3.  重复为 `@flisk-sh/flisk-import` 一旦该软件包存在

命令行的相同内容, 对于任一名称:

```bash
npm trust github flisk-import --file publish-npm.yml --repo flisk-sh/flisk-import --allow-publish
npm trust list flisk-import
```

### 第一个版本

软件包的第一个版本无法通过 OIDC 发布 —— npm 没有可信赖的出版商 对于一个尚未存在的名称。 因此,0.2.2版本出版一次,其中a 符号; 之后的每个版本都从发布工作流程中发布 OIDC .

## 常见问题

### @flisk-sh/flisk-import 是什么？

将寄存器的root docker-compose\.yml导入到Flisk service\.json文件,或注册其Tiltfile\.

### 如何安装 @flisk-sh/flisk-import？

在项目目录运行 npm install @flisk-sh/flisk-import，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 flisk-import，可以用 npx flisk-import 直接运行。

### @flisk-sh/flisk-import 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/flisk-sh\_\_flisk-import 是否存在。

### @flisk-sh/flisk-import 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @flisk-sh/flisk-import 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.12\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @flisk-sh/flisk-import 可以商用吗？

@flisk-sh/flisk-import 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @flisk-sh/flisk-import 的下载量有多少？

根据 npm 官方下载统计，@flisk-sh/flisk-import 在 2026/10/15 – 2026/11/13 这 30 天内被下载 4,362 次，日均约 145 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @flisk-sh/flisk-import 还在维护吗？

最新版本 0\.18\.2 发布于 2026/11/08（7 天前）；至今共发布 22 个版本，其中过去 12 个月发布了 22 个；首次发布于 2026/10/22。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

