@firestitch/app-tools

中文文档
18.2.10发布于 2026/11/08近 30 天下载 3137

npm run serve [args]

中文使用文档

服务

npm run serve [args]

参数数值默认
--env 数据字符串当地
项目字符串第一个工程在 angular.json 中
--端口编号软件包.json = 配置 = 端口
-- 主机字符串项目的角.json 服务 选择 东道主,其他 <package name>.local.firestitch.com
-- 安全布尔虚假
-- live- 重载布尔虚假

构建

npm run build [args]

参数数值默认
--env 数据字符串备忘

软件包

npm run package [args]

参数数值默认
--env 数据字符串生产
包括逗号分隔路径替换基数集 frontend/dist,backend,framework,maintenance
包含逗号分隔路径在基数组之上添加额外值
-- 预建JS 文件或 shell 命令在构建前运行
--后营建JS 文件或 shell 命令运行在建设之后, 在拉链之前
--版本当前、补丁、次要、主要或x.y.z该版本,不包含提示

--version=current 软件包已装入软件包 由同名 repo 所建的应用程序带有与第一个版本相同的版本. 重新包装于 同一版本没有承诺、推动和标记:

"package:client": "npx package --project=client --version=current --include=frontend/dist"

把旗子放入剧本本身. npm run package --version=… 把它交给npm, 用于打印自己的版本.

版本是先选的,在建成成功之前,什么都不写,所以 失败的构建使工作树未受影响 :

native level check → select version → ng build → write package.json → --postBuild → zip → commit, push, tag

钩子

--preBuild 财务报告和审定财务报表 --postBuild 每一个 无论是 jS文件的路径,即 require()d , (单位:千美元), 或者说 弹壳命令 :

npx package --postBuild="cd mcp && npm run sync-version && npm publish"
npx build --preBuild=./scripts/generate-icons.js

没有空格的空路被视为文件; 其它的都会被当作文件运行 命令 (node build.js 是命令,不是文件。 退出的外壳钩子 非零中止运行; JS 钩子不能失败运行,因为 require() 返回任何要检查的内容.

钩子何时
-- 预建在此之前 ng build
--后营建之后 ng build ——在套件运行中,在版本被写入后,在拉链与承诺之前

在一个 package 运行 --postBuild 被推迟到新版本生效 package.json,并运行于实例目录(其父目录 frontend(中文(简体) ) 该版本在 $VERSION。这是侧车包可以 使用应用软件的版本并发布自己 —— 足够早,它的版本凸起是 被拉入这栋大楼 并被卷入同样的承诺和标签 与它的应用 早早的 以失败阻止释放 犯罪或被标记.

土著一级

npx native-level [args]

参数数值默认
项目字符串第一个工程在 angular.json 中

A Capacitor app 的网络构建载具 src/assets/native.json。电话安装 空外的网络捆绑只有在捆绑的时候 level 不高于级别 它的存储架构被运出, 所以需要新本地插件的网络代码永远不会 到达一个二进制没有它。 只有在水平上升时才有用 本地插件更改, 所以 build 财务报告和审定财务报表 package 拒绝逃跑直到它成功.

原生. json 记录原生插件的级别被提高为:

{
  "level": 2,
  "plugins": {
    "@capacitor/android": "6.0.0",
    "@capacitor/app": "6.0.2",
    "@capacitor/ios": "6.0.0",
    "capacitor-local-plugin": "1.0.0+3f9a0c27b1d4"
  }
}
  • 应用程序根 是项目源头或上方最近的目录 持有 capacitor.config.ts, (中文(简体) ), .js 或者说 .json - 在哪个地方 npx cap sync 运行.
  • 本地插件 在应用程序根的依赖性 package.json 个人 package.json - 安装在应用根的 node_modules 或任何父母的.. 有一个 capacitor 或者说 cordova 键,加上运行时间 @capacitor/ios 财务报告和审定财务报表 @capacitor/android,这些名称是本地的,不需要安装副本.
  • 其价值 是应用程序根的版本 package-lock.json 针:什么 npm ci 安装在那里之前 npx cap sync 构建商店二进制 。 写着 在开发商的机器上和在CI代理上都是一样的,它只安装 app root上方的工作空间,其副本可以是其他版本. 没有 在app root中锁定文件,所安装的版本则被录入.
  • A 类 file: 插件原生源的更改不改变版本,所以 它记录自己的 package.json 版本加a的前12个正数 SHA -256号机 package.json词根 *.podspec, (中文(简体) ), ios/ 财务报告和审定财务报表 android/ —— 说 构建产出( e)node_modules, (中文(简体) ), build, (中文(简体) ), .gradle, (中文(简体) ), Pods, (中文(简体) ), dist跳过和 行尾读作LF,因此Windows和Linux同意.

开始时 npx build 财务报告和审定财务报表 npx package 在项目之前 已建或请求版本 :

土生土长. json发生什么事
没有 plugins 现在插件被记录在当前关卡中; 承诺本地. json
plugins 匹配无
plugins 差异,将每个插件添加、删除或更改

一个被拒绝的运行名 :

npx native-level --project=client

它将关卡提高一个,记录插件,并打印旧和 随着插件的更改而新建关卡。 将移动的更改提交本地.json 插件; 手机仅在商店上使用所建的网络代码 新建关卡.

应用程序根的本地依赖缺失 package-lock.json 运行失败 : 运行 npm install 在应用根中更新它。 一个叫 包含 capacitor 或者说 cordova 但是没有安装,因为什么也没有说 是否为本地软件:先安装软件包.

没有的项目 src/assets/native.json或者上面没有电容 未检查.

内部

四、建 议 ——每个文件都做什么,包订购 限制和陷阱 package.json, (中文(简体) ), process.exit 关于失败, 除非订阅,否则从不运行的可观测数据).

SSL 服务器

npx ssl [command]

命令说明
资讯显示证书主机、 过期以及 CA 是否可信( 默认)
信托将开发根 CA 安装到此机器的信托商店
不信任再来一次
重新发行只重发证书, 例如编辑其主机名后 。 无需重新信任
生成重新发布 CA 财务报告和审定财务报表 证书。 强制每个开发者重运行 trust

serve --secure 用途 ssl/localhost.crt报告 Firestitch 开发根 CA 且对 localhost, (中文(简体) ), local.firestitch.com 财务报告和审定财务报表 *.local.firestitch.com。 。 。 .

它故意没有IP地址。 BoringSSL (在 Bun 的 TLS 堆栈, 在 Claude 的等) 代码)无法对照 CA 的名称限制检查一个 IP 条目并拒绝整个 证书为 unsupported name constraint type,即使通过主机名连接。 使用 https://localhost没有 https://127.0.0.1。 。 。 .

浏览器只信任一个证书,其签发者在机器的信托商店,所以每个 开发者运行 npx ssl trust 每台机器一次 以获取一个挂锁而不是 "你的连接不是私人的" 中断。 Windows 将显示一次性安全 确认;接受。 随后重新启动浏览器 .

Chrome, Edge和Firefox 都从 Windows 商店取取 CA —— Firefox 启用 security.enterprise_roots.enabled 默认的。 在macOS和Linux上,Firefox使用它 改为自有商店, 因此导入 ssl/ca.crt 设置 → 隐私和安全 → 证书.

Firefox 验证证书比 Chrome 严格得多, 因为此证书 名称限制它解析 每个 主题替代名称,而不仅仅是它的名称 正在匹配。 因此,一个条目Firefox不喜欢拒绝整个证书 SEC_ERROR_BAD_DER 每个主机。 保持主机名列表保守, 在更改后 运行 npx ssl reissue 检查Firefox的结果 不只是Chrome.

CA私人密钥船在这批货中公开,这是可以接受的,因为CA 携带一个关键 名称限制 扩展将其限制在以上主机。 一个机器 相信此根仍然拒绝它为任何其他域签发的证书,所以 键不能用来拦截真实流量。 永远不要在开发之外再利用它.

证书于2036年到期,CA于2046年到期. 要重发, 运行 npx ssl generate —— 说 更改 CA 表示每个开发者必须重新运行 npx ssl trust,因此倾向于添加主机名 下级 *.local.firestitch.com (由现有证书覆盖)取而代之.

版本与发布记录

@firestitch/app-tools 共发布 101 个版本,首次发布于 2022/03/29;过去 12 个月发布了 25 个版本。

版本发布日期距今
18.2.10latest2026/11/086 天前
18.2.92026/11/087 天前
18.2.82026/11/068 天前
18.2.72026/11/059 天前
18.2.62026/10/081 个月前
18.2.52026/09/122 个月前

关于 @firestitch/app-tools 的常见问题

@firestitch/app-tools 是什么?

npm run serve [args]

如何安装 @firestitch/app-tools?

在项目目录运行 npm install @firestitch/app-tools,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 ssl、build、serve、package、native-level,可以用 npx ssl 直接运行。

@firestitch/app-tools 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/firestitch__app-tools 是否存在。

@firestitch/app-tools 可以商用吗?

@firestitch/app-tools 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@firestitch/app-tools 的下载量有多少?

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

@firestitch/app-tools 还在维护吗?

最新版本 18.2.10 发布于 2026/11/08(6 天前);至今共发布 101 个版本,其中过去 12 个月发布了 25 个;首次发布于 2022/03/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。