小编Jak*_*eDK的帖子

使依赖项的依赖项可用于 Yarn 2

我正在开发一个框架,我希望框架包的依赖项可供使用它的应用程序使用。依赖项不是由使用者直接使用,而是由框架提供的文件使用。

使用 npm,它可以工作,但是使用 Yarn 2 我会收到这样的错误

Error: Your application tried to access @snowpack/plugin-dotenv, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.
Run Code Online (Sandbox Code Playgroud)

显然,我可以将依赖项添加到使用应用程序的 package.json 中,但这需要在依赖项发生变化时手动编辑 package.json 。这违背了具有无模糊升级路径的框架的理念。此外,依赖项适用于框架提供的文件。它们不应受到下游代码的干扰。

是否可以在下游共享依赖项?

注意:我正在使用工作区。我不知道这是否与问题相关。

dependencies yarnpkg yarnpkg-v2

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

在 Playwright 中获取输入元素的值

我如何返回 elem 的值,以便我可以验证它是真的1

const elem = await page.$('input#my-input')
await elem.fill('1')
Run Code Online (Sandbox Code Playgroud)

playwright

4
推荐指数
3
解决办法
4454
查看次数

带有 typeorm 和 class-validator 的 NestJS 实体中的 DRY 原则

有没有办法把这个代码

export class person {
  @IsString()
  @Column('text')
  name: string

  @IsOptional()
  @IsString()
  @Column('text')
  description?: string
}
Run Code Online (Sandbox Code Playgroud)

变成类似于这个的东西

export class person {
  name: string
  description?: string
}
Run Code Online (Sandbox Code Playgroud)

我知道需要装饰器,但是当每个属性必须声明 3 次或更多次属性类型时,SSOT 似乎丢失了。

有没有更简单的方法来解决这个问题?乔伊?模式生成?

typeorm nestjs

3
推荐指数
1
解决办法
739
查看次数

使用 JSDoc 从返回值推断类型

从函数返回类型分配类型的正确方法是什么?

async function getFood(){
  const food = await {fruit: 'banana', qty: 3}
  return food
}

/** 
 * made up syntax
 * @type {returnOf getFood} 
 * */
let doesntWork;

/** @type {{fruit: string, qty: number}} */
let worksButNoInferring

let worksButRequiresCallingFunction = getFood()
Run Code Online (Sandbox Code Playgroud)

VSCode 证明,返回类型是可用的。我只是不知道如何在不调用该函数的情况下获取它。

在此输入图像描述

jsdoc

3
推荐指数
1
解决办法
1488
查看次数

如何使用 JSDoc 定义部分对象(使所有属性可选)

如何定义接受对象的部分或全部属性的类型?我知道我可以将每个属性标记为可选,但是有没有办法让所有属性都可选?

const defaults = {
    host: 'localhost',
    distDir: 'dist',
    entrypoint: '__app.html',
    app: `build/bundle.js`,
    spaPort: "5000",
    ssrPort: "5005",
    serveSpa: false,
    serveSsr: false,
}

/** 
* @param {defaults} options 
*/
function merge(options = {}){
  const allOptions = {...defaults, ...options)
}
Run Code Online (Sandbox Code Playgroud)

上面的代码显示警告 as {}does not meet defaults。我可以定义参数_options以接受 的任何子集defaults吗?

types jsdoc

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

标签 统计

jsdoc ×2

dependencies ×1

nestjs ×1

playwright ×1

typeorm ×1

types ×1

yarnpkg ×1

yarnpkg-v2 ×1