小编Zar*_*old的帖子

在开源项目中包含Highcharts

我想将Highcharts库包含在一个开源项目scala-notebook中,我不确定是否允许根据Highcharts许可证.

scala-notebook是一个web-repl(read-eval-print-loop)或web-console(类似于IPython).可以创建新的笔记本并在那里编写将在服务器端执行的代码,结果将在页面上呈现(在输出部分中).我想让用户能够在代码中定义图表数据,然后使用Highcharts库将其呈现为图表.它是在Modified BSD License(也称为New或Revised BSD)下发布的.

所以我的问题是:

  • 我是否允许在项目分发中添加Highcharts库?
  • 如果是,那么我应该包括什么才能在我的项目中正确引用Highcharts许可信息(例如我可以将其添加到页面的帮助部分和/或将许可添加到项目文件树的根目录等. )?

我的项目是开源的,所以我可以想象,有人会下载它并将其内部部署在他/她的公司.我还想确保允许这个用例(根据许可证).

licensing open-source highcharts

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

如何在玩笑中模拟非全局节点变量 _filename 或 __dirname?

__filename__dirname是输入代码的绝对文件路径。根据 Node.js 文档(并已确认),这 2 个特殊的全局变量是被注入的,而不是成为对象的一部分,global因此无法通过globalThis/global在笑话中进行配置。

示例函数:utils.ts

export const getFileAndDirName = () => ({
 relevantFile: __filename.split('/')?.[3],
 rootPath: __dirname,
})
Run Code Online (Sandbox Code Playgroud)

不起作用的示例测试代码:utils.test.ts

it('finds the file path where the function was executed', () => {
  globalThis.__filename = '/Users/me/work/utils/index.ts'
  expect(getFileAndDirName()).toEqual('utils')
  globalThis.__filename = '/Users/me/work/tests/index.ts'
  expect(getFileAndDirName()).toEqual('tests')
})
Run Code Online (Sandbox Code Playgroud)

替代方案/解决方法:

我知道我可以重构我的代码以便仍然能够测试它:

export const safelyExtractThirdElement = (filePath = '') => filePath.split('/')?.[3]

export const getFileAndDirName = () => ({
 relevantFile: safelyExtractThirdElement(__filename),
 rootPath: __dirname,
})
Run Code Online (Sandbox Code Playgroud)

这个解决方案使我能够避免嘲笑__filename......但是理想情况下,我不需要更改我的实际代码并保持私有内部实用程序未经测试,而且与我自己的示例相比,这也是一个简化的任意示例。

我也可以破解我的代码以使其正常工作,但我认为测试应该使代码更强大而不是更黑客:

__filename = …
Run Code Online (Sandbox Code Playgroud)

javascript node.js typescript jestjs

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

(节点:15893)弃用警告:不推荐使用 collection.remove。改用 deleteOne、deleteMany 或 bulkWrite

我正在为 REST API 开发后端。它使用 MongoDB 作为数据库。我正在使用 mongodb v:^5.3.3。

我想根据 API 请求删除一组项目,但收到上述错误消息:

DeprecationWarning: collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead
Run Code Online (Sandbox Code Playgroud)

如何完全删除集合?

mongodb node.js

2
推荐指数
2
解决办法
6862
查看次数