小编cal*_*-io的帖子

如何抑制 Composer 脚本回显执行的命令?

如果我在文件中指定脚本composer.json

"scripts": {
  "test": "@php phpunit -c phpunit.xml"
}
Run Code Online (Sandbox Code Playgroud)

Composer 在执行时会回显该命令:

$user> composer test
> @php @php phpunit -c phpunit.xml
PHPUnit 8.0.1 by Sebastian Bergmann and contributors.
...
Run Code Online (Sandbox Code Playgroud)

有没有办法抑制 Composer 输出中的 echo 命令?

编辑:

我希望输出看起来像这样:

$user> composer test
PHPUnit 8.0.1 by Sebastian Bergmann and contributors.
...
Run Code Online (Sandbox Code Playgroud)

php composer-php

7
推荐指数
1
解决办法
694
查看次数

在这个BASH片段中,行开头的感叹号是什么?

我理解C-shell和BASH中的历史扩展,但是我不明白为什么在read我看到的某些来源的代码片段中使用了该命令行的感叹号:

#!/bin/bash

set -e

. "$(dirname "$0")/includes.sh"

! read -d '' SOME_VAR <<"EOT"
  some ASCII art
EOT

echo -e "\033[95m$SOME_VAR\033[0m"
Run Code Online (Sandbox Code Playgroud)

你为什么要否定read命令的返回值(我认为这是它的影响,而不是历史扩展)?除了内存外,是否有任何可能的错误情况?我唯一能想到的就是EINTR,我认为这将是一个中止条件(SIGINTSIGHUP).为什么你会引用起始heredoc标记(EOT在这种情况下),而不是结束标记?

它来自一个主要的开源项目,所以我猜测作者有一些理由这样做,我无法辨别.

bash shell

6
推荐指数
1
解决办法
527
查看次数

您可以将“enum”与 GitHub Action 的“action.yml”和工作流程文件中的输入一起使用吗?

我有一个 GitHub 操作(在 中.github/actions/my-custom-action),它接受一个枚举输入。在action.yml

inputs:
  my-enum-input:
    description: "This is an input that's an enum"
    default: "all"
    required: true
Run Code Online (Sandbox Code Playgroud)

在文件调用的脚本文件中是否INPUT_MY_ENUM_INPUT有类似的类型。有没有办法强制将文件中的枚举作为输入,并检查调用该操作的工作表 YAML 文件以确保其有效?['all', 'a', 'b']action.ymlaction.yml

github github-actions

6
推荐指数
1
解决办法
3944
查看次数

异步函数在 Jest 中的行为不像我期望的那样

Javascript Jest 测试框架文档说我需要添加done()回调来测试异步函数,否则该函数将在测试完成后返回,因此测试将失败。我将 Jest 添加到我的 package.json 和以下两个文件中:

src.js:

function fetchData(cb) {
  setTimeout(cb, 2000, 'peanut butter')
}

module.exports = fetchData
Run Code Online (Sandbox Code Playgroud)

src.test.js:

const fetchData = require('./src')

test('the data is peanut butter', () => {
  function callback(data) {
    expect(data).toBe('peanut butter')
    // no done() method!
  }

  fetchData(callback);
})
Run Code Online (Sandbox Code Playgroud)

我通过上面的代码通过了测试,但我认为我应该得到一个失败的测试,因为done()我的测试文件中没有。我的fetchData()方法不是异步的吗?


编辑:按照尼古拉斯的回答,我将代码更改为:

src.js:

function fetchData(cb) {
  setTimeout(cb, 2000, 'peanut')
}

module.exports = fetchData
Run Code Online (Sandbox Code Playgroud)

src.test.js:

const fetchData = require('./src')

test('the data is peanut butter', () => {
  function …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous jestjs

5
推荐指数
1
解决办法
5508
查看次数

在庇护所上使用`.of`构造函数

我正在研究有关函数式编程的教程,该教程使用sanctuary.js库显示以下代码示例:

var S = require('sanctuary')
var Maybe = S.Maybe

S.add(
  Maybe.of(3)
  ,Maybe.of(5)
)
.map(n => n * n)
Run Code Online (Sandbox Code Playgroud)

我得到了错误Maybe.of is not a function。sanctuary.js API文档显示了一个使用.ofas 的示例S.of(S.Maybe, 42),因此我修改了我的代码,如下所示:

...
S.of(S.Maybe, 3)
,S.of(S.Maybe, 5)
Run Code Online (Sandbox Code Playgroud)

我得到错误:

add :: FiniteNumber -> FiniteNumber -> FiniteNumber
       ^^^^^^^^^^^^
            1

The value at position 1 is not a member of ‘FiniteNumber’.
Run Code Online (Sandbox Code Playgroud)

我没有在庇护所网站上看到有关FiniteNumber类型类的任何文档。如何使此代码起作用?并且有什么方法可以将保护区.of构造函数链接到类型类上,因此教程站点上的示例可以正常工作吗?

javascript functional-programming fantasyland sanctuary

5
推荐指数
1
解决办法
423
查看次数

您可以限制 MDX 页面将渲染哪些 React 组件吗?

我想知道是否有一种直接的方法可以在MDX JS页面(包含 JSX 的 Markdown)上创建允许的组件和阻止的组件。我想将 MDX 用于用户生成的内容,并意识到这样做存在很多安全问题;如有任何这样做的提示,我们将不胜感激。

javascript markdown reactjs mdxjs

5
推荐指数
0
解决办法
143
查看次数

在Sanctuary.js(Fantasy Land)中键入值和"可访问的假型"

我正在处理Sanctuary.js上的文档.我一直在努力学习Haskell,并且在FP概念上有点挣扎.

  1. 我理解类型值是一个对象,它具有(a)构造函数(代表类型),(b)类型标识符(作为命名属性的类型名称@@type,以及(c)需要由除了没有任何状态的类型值之外,FP类型值和普通的面向对象对象之间有什么区别?Fantasy-Land规范给出了标准类型来实现,包括它们的方法.一些(全部?)的这些方法遵守代数法则,比如Functors要求一种map遵循身份和组成规律的方法.我可以自由地创建我的用户类型并需要我喜欢的方法吗?这些方法是否必须符合任何代数设计原则或法则?不,它确实看起来像OO设计(减去对象中的状态)给我!我不知道我缺少什么.类似接口吗?父对象?

  2. 保护区的文档支持属性访问值的类型,或只是每个值-关于"通达假"的谈判nullundefined.它表示" Object接近,但Object.create(null)产生一个支持属性访问的值,但它不是Object类型的成员".但是,打印具有创建的对象null显示{},它的typeof存在object.它对我来说似乎是Object类型的成员.我有什么误会?为什么Accessiblepsuedo类型是必要的?伪类型和常规类型有什么区别?Integer例如,被称为伪类,但它似乎是Number我的类的扩展.

javascript haskell functional-programming sanctuary

-1
推荐指数
1
解决办法
126
查看次数