@actions/languageservice

中文文档
0.3.61发布于 2026/08/05MITTypeScriptES Module构建来源已验证近 30 天下载 1.6万

GitHub 动作的语文服务

中文使用文档
文档目录8 节
  1. 安装
  2. 使用量
  3. 基本用途
  4. 捐款
  5. 构建
  6. 测试
  7. 林特
  8. 许可证

行动/语言服务

此软件包包含 GitHub 动作工作流程语言服务器的逻辑 .

安装

这个 软件包 包含TypeScript类型并编译了ECMAScript模块.

npm install @actions/languageservice

使用量

基本用途

概念

语文服务的特点使用三个信息来源:

  • 工作流程 YAML 文件的内置静态方案
  • 价值提供者 可以动态地将值添加到计划中,例如,在验证时,可以为寄存器添加可用的标签列表 runs-on。 。 。 .
  • 上下文提供者 能够动态地提供用于 表达式。例如,该指南的内容 github.event 上下文.

验证

验证工作流程文件,返回一组 Diagnostic 对象.

const config: ValidationConfig = {
  valueProviderConfig: valueProviders(sessionToken, repoContext, cache),
  contextProviderConfig: contextProviders(sessionToken, repoContext, cache),
};

const result = await validate(textDocument, config); // result is an array of `Diagnostic`

缓冲

何时获取信息 徘徊着 超过工作流程文件中的一个符号.

import {hover} from "@actions/languageservice";

const document = {
  uri: "file:///path/to/file",
  getText: () => "on: push\n  jobs:\n    build:\n      runs-on: ubuntu-latest\n      steps:\n        - run: echo hello"
};

const hover = await hover(document, {line: 0, character: 1}); // { contents: { kind: "markdown", value: "The event that triggers the workflow" } }

自动补全

import {complete} from "@actions/languageservice";

const document = {
  uri: "file:///path/to/file",
  getText: () => `on: 
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - run: echo hello`
};

// Trigger completion for `on: |`
const suggestions = await complete(document, {line: 0, character: 4});

将返回

[{
  "documentation": {
    "kind": "markdown",
    "value": "Runs your workflow when branch protection rules in the workflow repository are changed.",
  },
  "label": "branch_protection_rule",
  "textEdit": {
    "newText": "branch_protection_rule",
    "range": {
      "end": {"character": 4, "line": 0,},
      "start": {"character": 4, "line": 0},
    },
  },
},
//... other events
]

捐款

见 捐款额 作为一般准则和建议存放处的基础.

如果你想捐款,请跑 更美丽 用于格式化您的代码,并在提交您的PR前酌情添加单位测试.

构建

npm run build

或监视更改

npm run watch

测试

npm test

或监视更改和运行测试:

npm run test-watch

林特

npm run format-check

许可证

这个项目根据麻省理工学院开源许可证的规定获得许可. 请参考 麻省理工学院 全部条件.

版本与发布记录

@actions/languageservice 共发布 63 个版本,首次发布于 2023/03/24;过去 12 个月发布了 42 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.3.61latest2026/08/053 个月前
0.3.602026/07/153 个月前
0.3.592026/07/143 个月前
0.3.582026/06/124 个月前
0.3.572026/05/125 个月前
0.3.562026/05/086 个月前

关于 @actions/languageservice 的常见问题

@actions/languageservice 是什么?

GitHub 动作的语文服务

如何安装 @actions/languageservice?

在项目目录运行 npm install @actions/languageservice,或使用 pnpm add / yarn add / bun add。

@actions/languageservice 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@actions/languageservice 支持 ESM 还是 CommonJS?

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

@actions/languageservice 需要什么版本的 Node.js?

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

@actions/languageservice 可以商用吗?

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

@actions/languageservice 的下载量有多少?

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

@actions/languageservice 还在维护吗?

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