为Explainerjs制作CI管道

为explainerjs制作ci管道

本周我们为我的Explainer.js 制作了一个 CI 管道。由于我在过去几周设置了不同的脚本,因此相当简单。

在Explainer.js中设置CI

首先设置 CI 管道是在 .github/workflows 目录中添加一个 YML 文件。我使用了 GitHub 上的默认版本的 node.js CI 模板,但进行了一些更改。首先,我使用默认选项制作了一份 PR 草案。然后我拉动树枝并做了一些调整。我更改了名称,将构建工作分成了三个独立的工作。构建以安装节点,然后进行 lint 和格式化,最后进行测试以运行测试。我还使用 need 关键字来跳过下一项工作,因此如果前一项工作失败,它将跳过下一项工作。因此,如果节点设置失败,它将不会运行 lint-and-format,如果 lint-and-format 失败,它将不会运行测试。这种情况确实发生了几次,因为我的 index.test.js 没有正确设置,所以我必须通过 argv 传递 test-api-key 来使其运行,从而进行一个小修复。它在本地运行良好,因为我已经设置了 .toml 和 .env。设置 lint-and-format 相当简单,因为当我尝试在本地提交时运行脚本,因此它会自动格式化我的文件。我根据项目的需要对默认的 YML 文件进行了更改。而且效果非常好!看看吧。

在DocBot中工作

我在 DocBot 工作过。虽然该项目是用 JS 编写的,但该项目使用了一个不同的测试框架,称为 vitest,它与 jest 兼容。我立即注意到一件事,与开玩笑相比,它的速度有多快。并且终端输出是超级抛光的。让解决这个问题变得非常愉快。我致力于使 file.test.js 测试套件与操作系统无关。我在 WSL 终端中运行它,运行良好,但它没有在 cmd.exe 中运行。我立即注意到预期的路径结构有所不同。上周我在explainer.js 中完成测试时遇到了一些问题。我默认使用 WSL,但我记得不是每个人都有它,所以我在 cmd.exe 中运行它,并且我在 FilePathResolver.test.js 中编写的测试遇到了同样的问题,所以我必须修复它。因此,在使用默认设置的 vscode 终端时,很容易忽略在不同操作系统中运行终端。经过一番尝试和错误后,我修复了它并取得了我的 PR。

以上就是为Explainerjs制作CI管道的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1496987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月19日 19:05:29
下一篇 2025年12月19日 19:05:40

相关推荐

  • Biomejs,一个用于格式化和检查 Web 项目的工具链

    我发现 t3-env 使用 biomejs 进行 linting 目的。本文概述了 biomejs 以及 t3-env 中的用法。 biome.js biome.js 是一个适用于您的 web 项目的工具链。它有助于格式化和检查您的项目。 快速开始 安装 npm install – save-dev…

    2025年12月19日
    000
  • 如何让网页控制台显示乱码,却不影响用户界面?

    如何在网页中实现控制台乱码,而又不影响用户界面? 在开发过程中,我们有时会遇到控制台出现乱码的情况,这可能会影响调试和代码维护。然而,有一种技巧可以实现控制台乱码,而又不影响页面上的用户界面,这在某些场景中非常有用,比如在下载小说时。 解决方案:自定义字体 实现该功能的原理是使用自定义字体。具体做法…

    2025年12月19日
    000
  • 原生JS表格如何实现精确滚动吸附?

    如何实现原生js中表格的精确滚动吸附功能? 在原生js中,滚动吸附是指表格中的行或列在滚动时自动对齐,使它们在滚动后刚好隐藏或显示。这种功能在excel等电子表格软件中很常见。 解决方案:滚动吸附 要实现此功能,需要使用css的滚动吸附属性。该属性控制元素滚动到指定位置时对齐的方式。 设置滚动吸附 …

    2025年12月19日
    000
  • 在 Nextjs App Router 中使用 Authjs 进行用户身份验证

    目录 初始设置 安装配置nextauthconfig 设置路由处理程序设置中间件在服务器端组件中获取会话在客户端组件中获取会话文件夹结构 实施身份验证:凭据和 google oauth 设置 prisma凭证添加 google oauth 提供商设置 google oauth 应用程序设置重定向 u…

    2025年12月19日 好文分享
    000
  • Vue 应用中,从 HTML 文件返回 Vue 文件时,为什么无法回到原来的 Vue 文件?

    在 Vue 中解决从 HTML 文件返回 Vue 文件问题 问题: 在 Vue 应用中,从 HTML 文件中运行 Vue 文件时,无法再返回到原来的 Vue 文件。 详情: 立即学习“前端免费学习笔记(深入)”; Vue 文件:message.vue主文件:main.jsHTML 文件:index.…

    2025年12月19日
    000
  • 为什么浏览器调试窗口中的 `innerWidth` 和 `outerWidth` 值不一致?

    浏览器调试窗口中不同 尺寸输出的原因分析 在浏览器调试窗口中,使用window.innerwidth和window.outerwidth获取设备尺寸时,可能会遇到不一致的情况。这可能是由几个因素造成的。 viewport meta 标签的影响 首先,您提到了已将以下meta标签添加到 中: 这个me…

    2025年12月19日
    000
  • Commander Redux 的剧集防御策略

    第 4 集:commander redux 的防御策略 太阳刚刚在法典星球升起,但流之堡垒外的庭院已经热闹非凡。阿琳立正站着,等待着下一节课。今天,她将在redux指挥官的指导下接受训练,他是行星防御军团(pdc)中最有纪律和战术头脑的人之一。堡垒在她上方若隐若现,其建筑错综复杂,充满了复杂的符号和…

    2025年12月19日
    000
  • JavaScript 中的 this 指向:如何使用 apply 和 call 方法解决函数防抖问题?

    应对更改 this 指向的困惑 在 javascript 中,this 指向经常是一个令人困惑的概念。本文将重点探讨 apply 和 call 方法在应对此问题中的应用,并以函数防抖为例进行深入解析。 函数防抖:应用 apply 和 call 函数防抖是一种技术,它可以避免频繁触发事件回调。我们这里…

    好文分享 2025年12月19日
    000
  • 如何使用 Kong httpsnippet 简化接口代码生成?

    使用前端库简化接口代码生成 在前端开发中,经常需要对不同语言发起的请求使用相同的接口。编写这些代码可能是一项重复且耗时的任务。 那么,有没有办法可以自动生成这些接口代码呢? Kong httpsnippet 答案是肯定的,Kong httpsnippet 是一个前端库,可以生成用多种语言发起的请求的…

    2025年12月19日
    000
  • 跨域情况下,如何通过 JavaScript 获取目标网页的高度?

    跨域情况下如何通过 javascript 获取目标网址网页高度 在跨域的情况下,获取其他网页的高度可能有所限制。以下是一个需要考虑的示例: 由于父页面无法直接访问目标网页的 window 对象,因此无法直接获取其高度。要解决这个问题,可以考虑以下解决方案: 使用 postmessage api 立即…

    2025年12月19日
    000
  • 完整指南:使用 Nodejs 进行消息传递

    node.js 中的消息传递是创建可扩展、弹性和异步系统的基本实践,尤其是在基于微服务的架构中。本指南涵盖了 rabbitmq 和 kafka 等流行库的实际实施的基本概念。 1.什么是消息传递以及为什么使用它? 消息传递是在服务或软件组件之间发送、接收和管理消息的过程。它适用于: 解耦:允许服务独…

    2025年12月19日
    000
  • 如何同时运行 cypress run 和 cypress open

    cypress 是一个为 web 应用程序构建的强大的端到端测试框架。它旨在使测试变得简单可靠,使开发人员和 qa 工程师能够测试从简单交互到复杂用户工作流程的所有内容。借助 cypress,您可以创建模拟用户操作、验证前端行为并以最少的设置确保 ui 功能的测试。 赛普拉斯有什么用途? cypre…

    2025年12月19日 好文分享
    000
  • 如何用 JavaScript 判断浏览器是否处于活动窗口状态?

    判断浏览器是否处于活动窗口状态 判断浏览器是否处于当前系统活动窗口状态对于前端开发来说很有用。例如,它可以用于暂停视频播放或启用不同的ui元素。 解决方案 不幸的是,没有直接的方法来用javascript判断浏览器是否处于当前活动窗口。然而,你可以通过综合使用以下方法来大致判断: 立即学习“Java…

    好文分享 2025年12月19日
    000
  • 在 JavaScript 中,如何使用 apply 方法动态更改 this 指向?

    js 中关于更改 this 指向的问题 在 javascript 中,this 关键字始终指向调用方法或函数当前的执行上下文对象。然而,在某些情况下,可能需要动态更改 this 的指向。 考虑如下的防抖函数: function debounce(func, wait, immediate) { le…

    2025年12月19日
    000
  • 表单输入框如何实现必填且依次验证?

    如何实现表单输入框必填且依次输入验证 问题: 在设计表单时,需要确保多个输入框内均有内容填写,且用户必须按照指定的顺序从第一个输入框开始填写。如何实现这一校验功能? 答案: 为每个输入框添加唯一的 name 属性,并添加事件监听器,在每个输入框获得焦点之前判断前一个输入框是否已填写。若前一个输入框为…

    2025年12月19日
    000
  • 使用 NVIDIA AI 端点和 Ragas 评估医疗检索增强生成 (RAG)

    在医学领域,融入先进技术对于加强患者护理和改进研究方法至关重要。检索增强生成 (rag) 是这些开创性创新之一,它将大型语言模型 (llm) 的强大功能与外部知识检索相结合。通过从数据库、科学文献和患者记录中提取相关信息,rag 系统提供了更准确、上下文更丰富的响应基础,解决了纯法学硕士中经常观察到…

    2025年12月19日
    000
  • Svelte 5 中的“助手”变量

    再见神奇 svelte 4 $: 在我最近发布 svelte 5 迁移的经验和注意事项之后,我想重点介绍从 svelte 4 迁移到 svelte 5 时的一些技巧和心态的变化。 svelte 4 使用“神奇的”$: 并让和完成所有繁重的工作以使代码具有反应性。我们还接受了变量重新分配,例如 let…

    2025年12月19日 好文分享
    000
  • 使用 Nextra 生成文档站点

    在本文中,您将了解如何使用 nextra 生成静态文档站点,我们还提供了一个示例。 使用 nextra,您可以使用 next.js 和 mdx 制作精美的网站。 nextra docs 提供了两种选项,一种用于文档,另一种用于博客。 使用 nextra 手动配置 nextra 很简单。您安装软件包,…

    2025年12月19日
    000
  • 如何解决下拉列表刷新导致数据丢失的问题?

    下拉列表刷新问题解决方案 在提交数据时,下拉列表需要刷新,以免影响数据准确性。但如果您希望在进行操作后保留下拉列表绑定的数据,同时在刷新页面时重新刷新下拉列表,可以使用以下三种方法: 通过页面重定向实现:在进行下拉列表操作后,将其值存储在会话变量中。在刷新页面时,从会话变量中检索该值并重新绑定到下拉…

    2025年12月19日
    000
  • JavaScript 的工作原理

    JavaScript 是一种多功能的高级编程语言,主要用于增强网页、创建交互式内容和构建 Web 应用程序。它可以在浏览器环境(客户端)中运行,也可以在服务器端使用,特别是与 Node.js 一起使用。以下是 JavaScript 工作原理的概述: JavaScript 引擎 每个浏览器(如 Chr…

    2025年12月19日
    000

发表回复

登录后才能评论
关注微信