Ole*_*Ole 6 javascript node.js npm webpack webpack-2
有没有办法用webpack执行许可证合规性检查?理想情况下,webpack构建的所有模块的许可证头都包含在最终输出文件中,但我们如何检查是否属于这种情况?
还有一个可以检测许可证兼容性冲突的插件吗?
我不是律师,所以这不是法律建议。
似乎您正在尝试解决两个不同的问题:(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)
如果依赖项和由此产生的传递依赖项在 webpack 构建输出中是否包含依赖项的问题下定义dependencies或devDependencies没有帮助。尝试webpack-license-plugin,它可能会帮助您解决问题。
如果您有任何疑问,请随时提问。我是该模块的维护者,所以我可以提供帮助!