Webpack捆绑许可证合规性?

Ole*_*Ole 6 javascript node.js npm webpack webpack-2

有没有办法用webpack执行许可证合规性检查?理想情况下,webpack构建的所有模块的许可证头都包含在最终输出文件中,但我们如何检查是否属于这种情况?

还有一个可以检测许可证兼容性冲突的插件吗?

phi*_*ker 5

我不是律师,所以这不是法律建议。

似乎您正在尝试解决两个不同的问题:(1)了解通过npm安装的软件包的合规性义务,(2)履行任何义务(例如,在webpack的输出中包括许可证)。

对于(1)tldrlegal是一个有用的工具,它将打印出高级的债务摘要。由于义务可能包括“在所有广告材料中显示确认”之类的要求,因此很难将合规性检查简化为构建过程中的一个步骤(大概是在webpack发挥作用时)。看来该库可能在兼容性方面有所帮助。

(2)为了遵守诸如在源副本中分发许可证之类的义务,webpack的Uglify插件默认情况下会这样做。在dependenciespackage.json中列出的软件包的许可证默认情况下通过comments选项包含在构建中。(看来webpack v4可能正在更改。)请注意,devDependencies构建文件中未包含中列出的依赖项许可证。

要明确配置,在您的webpack配置中包括:

new webpack.optimize.UglifyJsPlugin({
  comments: /^\**!|@preserve|@license/,
})
Run Code Online (Sandbox Code Playgroud)


Cod*_*nkt 5

如果依赖项和由此产生的传递依赖项在 webpack 构建输出中是否包含依赖项的问题下定义dependenciesdevDependencies没有帮助。尝试webpack-license-plugin,它可能会帮助您解决问题。

如果您有任何疑问,请随时提问。我是该模块的维护者,所以我可以提供帮助!

  • 哇看起来真的很令人印象深刻 - 感谢您的提醒! (2认同)